From da426400c0632e666729035033c289d92929ad2c Mon Sep 17 00:00:00 2001 From: Rohith Kumar Date: Wed, 24 Jan 2024 14:28:36 +0100 Subject: [PATCH 01/54] Hide Training Jars option in settings dialog --- .../de/fraunhofer/iem/devassist/ui/dialog/SettingsDialog.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dev-assist/src/main/java/de/fraunhofer/iem/devassist/ui/dialog/SettingsDialog.java b/dev-assist/src/main/java/de/fraunhofer/iem/devassist/ui/dialog/SettingsDialog.java index 2f44e57..07ed018 100644 --- a/dev-assist/src/main/java/de/fraunhofer/iem/devassist/ui/dialog/SettingsDialog.java +++ b/dev-assist/src/main/java/de/fraunhofer/iem/devassist/ui/dialog/SettingsDialog.java @@ -65,6 +65,8 @@ public class SettingsDialog extends DialogWrapper { public SettingsDialog(Project project, boolean modal) { super(project, modal); + trainingPathCheckbox.setVisible(false); + trainingPanel.setVisible(false); this.project = project; resourceBundle = ResourceBundle.getBundle("dialog_messages"); setTitle(resourceBundle.getString("SettingsDialog.Title")); @@ -193,7 +195,6 @@ public void actionPerformed(ActionEvent e) { @Override protected void doOKAction() { - if (isOKActionEnabled()) { //ensure that required fields are populated From e102b35da197eaa359e91d81c775b2b638fb27ed Mon Sep 17 00:00:00 2001 From: Rohith Kumar Date: Wed, 24 Jan 2024 14:30:22 +0100 Subject: [PATCH 02/54] Fix OK button bug in method dialog --- .../de/fraunhofer/iem/devassist/ui/dialog/MethodDialog.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-assist/src/main/java/de/fraunhofer/iem/devassist/ui/dialog/MethodDialog.java b/dev-assist/src/main/java/de/fraunhofer/iem/devassist/ui/dialog/MethodDialog.java index 8884f14..ee1850e 100644 --- a/dev-assist/src/main/java/de/fraunhofer/iem/devassist/ui/dialog/MethodDialog.java +++ b/dev-assist/src/main/java/de/fraunhofer/iem/devassist/ui/dialog/MethodDialog.java @@ -291,8 +291,8 @@ protected void doOKAction() { MethodNotifier publisher = messageBus.syncPublisher(MethodNotifier.ADD_UPDATE_DELETE_METHOD); publisher.addNewExistingMethod(method); - super.doOKAction(); } + super.doOKAction(); } } From 0e9e1396d53ffe9b1aa628a18d1978d2967c34b4 Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 30 Jan 2024 09:50:18 +0100 Subject: [PATCH 03/54] Update Dev-Assist ReadMe file --- dev-assist/README.md | 88 +++++++++++++++----------------------------- 1 file changed, 30 insertions(+), 58 deletions(-) diff --git a/dev-assist/README.md b/dev-assist/README.md index a3613ed..090bec7 100644 --- a/dev-assist/README.md +++ b/dev-assist/README.md @@ -1,60 +1,32 @@ -# dev-assist -IntelliJ IDEA Plug-in for the Security methods for WeAkNess detection (SWAN) tool. - -Description: -------------- -SWAN_Assist provides a GUI support for SWAN. The user is able to interact with the learning process by giving feedback on the methods of interest. -The tool helps users that write static analyses to create list of SWAN for their specific Java libraries. -Moreover, users can manually inspect the proper usage of the methods detected by SWAN. - - -## Downloading the Project - -The project can be downloaded using either of the following methods: - -##### Method 1: Cloning the Project -1) Select the **File>Project from Version Control>Git** option, enter the repository’s URL and then select **Clone** to import the project. The project will contain the following directories: ``swan_core`` (SWAN core application), ``swan_assist`` (IntelliJ Plugin) and ``swan_datasets`` (datasets for the research paper). -2) To configure the project settings and modules, go to **File>Project Structure**. -3) For **Project SDK**, select the corresponding Java SDK version. -4) Select **Modules** from the left panel and remove the existing module that was automatically created. -5) Click the **Add** button and then **Import Module** to create the SWAN Core module. Follow the steps in the [Setting up the Project Modules](https://github.com/secure-software-engineering/swan/tree/master/swan_assist#setting-up-the-project-modules) section to finish configuring the core module as well as the plugin module. - - -##### Method 2: Downloading Project ZIP -1) Download and extract the project resources from GitHub. -2) In Intellij, use the **File>Project from Existing Resources** to import the project modules. This can also be done from the IntelliJ start screen. -3) Follow the steps in the [Setting up the Project Modules](https://github.com/secure-software-engineering/swan/tree/master/swan_assist#setting-up-the-project-modules) section to finish configuring the core module as well as the plugin module. - -## Setting up the Project Modules - -##### SWAN Core -1) In the window that appears, open the ``/swan_core`` directory of the project. -2) Select the **Import module from external Model** radio button and also select **Maven**. -3) The default settings in the dialogs that appear can be used. -4) Close the **Project Settings** dialog so that IntelliJ will index the new project module. - -##### SWAN Assist -1) Return to the **Project Structure** dialog and Select **Modules** from the left panel. -2) Click the **Add** button and then **Import Module**. -3) In the window that appears, open the ``/swan_assist`` directory. Select the **Import module from external Model** radio button and also select **Gradle**. -4) The default settings in the dialogs that appear can be used. The plugin module should now be indexed. - -The core and plugin modules should now be imported. - -## Running the Plugin - -The plugin uses ``swan_core`` dependency from [Maven Central](https://mvnrepository.com/artifact/de.upb.cs.swt/swan_core). If the version in the plugin's ``build.gradle`` file is not available on Maven Central, perform the following steps: -1) Run the Maven ``install`` command of the ``swan_core`` project from the console or using the Maven Plugin. -2) Add ``mavenLocal()`` in the ``repositories`` section of the ``build.gradle`` file. The locally installed library can now be use by the plugin. - -##### To run the plugin: - -1) Select the **Run Configuration** drop down menu and select **Edit Configurations** or from the **Run** menu, select **Edit Configurations**. -2) Click the **Add** button and select **Gradle**. -3) Select the **swan_assist** Gradle module that was just created and enter ``:runIde`` as the value for **Tasks** - this task will run the plugin in a new instance of IntelliJ. The plugin can also be executed using the Gradle Plugin in IntelliJ: Open the Gradle Tool Window, expand the ``intellij`` task and double click on ``runIde``. The other tasks can be used as necessary. -4) When the new instance of IntelliJ launches, use the open option to select the project found in ``/test-project`` directory. You may need to set a project SDK, if one isn’t automatically configured for the project. - -Logs for the plugin will appear in the initial instance of IntelliJ. - +## Dev-Assist IntelliJ Plugin + +Dev-Assist is an IntelliJ IDEA plugin that uses [SWAN](https://github.com/secure-software-engineering/swan) to detect security-relevant methods (SRMs) that are required when configuring static analysis tools. After automatically detecting SRMs, the plugin can be used to adjust the list of security-relevant methods and also generate the tainit-flow specifications required to run the taint analysis tool [SecuCheck](https://github.com/secure-software-engineering/secucheck/). + +The plugin works with IntelliJ IDEA 2022.2 and higher. + +### Plugin Features +The plugin has the following main features which are accessible in the plugin's tool window and from the editor: + +- Detect security-relevant methods in Java programs with SWAN's machine learning approach +- Update security-relevant methods list using method dialog + - Import existing SRM list + - Add new SRMs from the editor + - Update existing method (SRM labels, data-in/data-out and meta properties) + - Delete SRMs + - Filter SRM list + - Expand/collapse method list + - Export updated SRM list +- Generate [*fluent*TQL](https://github.com/secure-software-engineering/secucheck/tree/master) taint-flow specifications necessary to configure SecuCheck in order to detect vulnerabilities +- Run SecuCheck and displays results using Qodana + +### Installation + +To install the plugin in IntelliJ IDEA: +- Download the [latest](https://github.com/secure-software-engineering/swan/releases) plugin archive file (ZIP or JAR) +- Open the IDE settings and select Plugins +- On the Plugins page, click Gear icon and then click Install plugin from disk.... +- Select the Dev-Assist plugin archive file and select OK +- Click OK to apply the changes. +- Restart the IDE to complete the installation From ec98b38df874135d3424211dffb2f64a4042b7ed Mon Sep 17 00:00:00 2001 From: Rohith Kumar Date: Thu, 1 Feb 2024 14:22:00 +0100 Subject: [PATCH 04/54] Replace deprecated getIcons method --- dev-assist/src/main/java/icons/IconUtils.java | 2 +- .../src/main/java/icons/PluginIcons.java | 20 +++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/dev-assist/src/main/java/icons/IconUtils.java b/dev-assist/src/main/java/icons/IconUtils.java index 573d7fb..7da3746 100644 --- a/dev-assist/src/main/java/icons/IconUtils.java +++ b/dev-assist/src/main/java/icons/IconUtils.java @@ -68,7 +68,7 @@ public static Icon getNodeIcon(ArrayList categoryList) { Icon icon; try{ - icon = IconLoader.findIcon("/icons/" + joinedList + ".png" ); + icon = IconLoader.findIcon("/icons/" + joinedList + ".png", IconUtils.class ); }catch (Exception e){ icon = PluginIcons.DEFAULT; } diff --git a/dev-assist/src/main/java/icons/PluginIcons.java b/dev-assist/src/main/java/icons/PluginIcons.java index 7442948..575e070 100644 --- a/dev-assist/src/main/java/icons/PluginIcons.java +++ b/dev-assist/src/main/java/icons/PluginIcons.java @@ -16,16 +16,16 @@ */ public interface PluginIcons { - Icon DEV_ASSIST = IconLoader.getIcon("/icons/swan_assist.png"); - Icon ACTIVE_FILTER_ACTION = IconLoader.getIcon("/icons/activeFilter.png"); + Icon DEV_ASSIST = IconLoader.findIcon("/icons/swan_assist.png", PluginIcons.class); + Icon ACTIVE_FILTER_ACTION = IconLoader.findIcon("/icons/activeFilter.png", PluginIcons.class); - Icon SOURCE = IconLoader.getIcon("/icons/sou.png"); - Icon SANITIZER = IconLoader.getIcon("/icons/san.png"); - Icon SINK = IconLoader.getIcon("/icons/sin.png"); - Icon AUTHENTICATION_SAFE = IconLoader.getIcon("/icons/auth_safe.png"); - Icon AUTHENTICATION_UNSAFE = IconLoader.getIcon("/icons/auth_unsafe.png"); - Icon AUTHENTICATION_NOCHANGE = IconLoader.getIcon("/icons/auth_no.png"); - Icon CWE = IconLoader.getIcon("/icons/cwe.png"); - Icon DEFAULT = IconLoader.getIcon("/icons/default.png"); + Icon SOURCE = IconLoader.findIcon("/icons/sou.png", PluginIcons.class); + Icon SANITIZER = IconLoader.findIcon("/icons/san.png", PluginIcons.class); + Icon SINK = IconLoader.findIcon("/icons/sin.png", PluginIcons.class); + Icon AUTHENTICATION_SAFE = IconLoader.findIcon("/icons/auth_safe.png", PluginIcons.class); + Icon AUTHENTICATION_UNSAFE = IconLoader.findIcon("/icons/auth_unsafe.png", PluginIcons.class); + Icon AUTHENTICATION_NOCHANGE = IconLoader.findIcon("/icons/auth_no.png", PluginIcons.class); + Icon CWE = IconLoader.findIcon("/icons/cwe.png", PluginIcons.class); + Icon DEFAULT = IconLoader.findIcon("/icons/default.png", PluginIcons.class); } From 31d919895bec4fb01c2b614c036e67e8925d6e3e Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 13 Feb 2024 08:41:51 +0100 Subject: [PATCH 05/54] Remove test project --- dev-assist/test-project/.gitignore | 29 - dev-assist/test-project/mvnw | 286 ------- dev-assist/test-project/mvnw.cmd | 161 ---- dev-assist/test-project/pom.xml | 70 -- .../test-project/scheduler-methods.json | 770 ------------------ .../scheduler/testproject/DatabaseHelper.java | 54 -- .../testproject/ExampleSQLiOpenRedirect.java | 71 -- .../scheduler/testproject/LogUtils.java | 27 - .../testproject/TestProjectApplication.java | 13 - .../example/scheduler/testproject/User.java | 27 - .../scheduler/testproject/UserController.java | 31 - .../testproject/UserNotification.java | 67 -- .../example/scheduler/testproject/Utils.java | 25 - 13 files changed, 1631 deletions(-) delete mode 100644 dev-assist/test-project/.gitignore delete mode 100755 dev-assist/test-project/mvnw delete mode 100644 dev-assist/test-project/mvnw.cmd delete mode 100644 dev-assist/test-project/pom.xml delete mode 100644 dev-assist/test-project/scheduler-methods.json delete mode 100644 dev-assist/test-project/src/main/java/com/example/scheduler/testproject/DatabaseHelper.java delete mode 100644 dev-assist/test-project/src/main/java/com/example/scheduler/testproject/ExampleSQLiOpenRedirect.java delete mode 100644 dev-assist/test-project/src/main/java/com/example/scheduler/testproject/LogUtils.java delete mode 100644 dev-assist/test-project/src/main/java/com/example/scheduler/testproject/TestProjectApplication.java delete mode 100644 dev-assist/test-project/src/main/java/com/example/scheduler/testproject/User.java delete mode 100644 dev-assist/test-project/src/main/java/com/example/scheduler/testproject/UserController.java delete mode 100644 dev-assist/test-project/src/main/java/com/example/scheduler/testproject/UserNotification.java delete mode 100644 dev-assist/test-project/src/main/java/com/example/scheduler/testproject/Utils.java diff --git a/dev-assist/test-project/.gitignore b/dev-assist/test-project/.gitignore deleted file mode 100644 index 153c933..0000000 --- a/dev-assist/test-project/.gitignore +++ /dev/null @@ -1,29 +0,0 @@ -HELP.md -/target/ -!.mvn/wrapper/maven-wrapper.jar - -### STS ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache - -### IntelliJ IDEA ### -.idea -*.iws -*.iml -*.ipr - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ -/build/ - -### VS Code ### -.vscode/ diff --git a/dev-assist/test-project/mvnw b/dev-assist/test-project/mvnw deleted file mode 100755 index 8b9da3b..0000000 --- a/dev-assist/test-project/mvnw +++ /dev/null @@ -1,286 +0,0 @@ -#!/bin/sh -# ---------------------------------------------------------------------------- -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# ---------------------------------------------------------------------------- - -# ---------------------------------------------------------------------------- -# Maven2 Start Up Batch script -# -# Required ENV vars: -# ------------------ -# JAVA_HOME - location of a JDK home dir -# -# Optional ENV vars -# ----------------- -# M2_HOME - location of maven2's installed home dir -# MAVEN_OPTS - parameters passed to the Java VM when running Maven -# e.g. to debug Maven itself, use -# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -# MAVEN_SKIP_RC - flag to disable loading of mavenrc files -# ---------------------------------------------------------------------------- - -if [ -z "$MAVEN_SKIP_RC" ] ; then - - if [ -f /etc/mavenrc ] ; then - . /etc/mavenrc - fi - - if [ -f "$HOME/.mavenrc" ] ; then - . "$HOME/.mavenrc" - fi - -fi - -# OS specific support. $var _must_ be set to either true or false. -cygwin=false; -darwin=false; -mingw=false -case "`uname`" in - CYGWIN*) cygwin=true ;; - MINGW*) mingw=true;; - Darwin*) darwin=true - # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home - # See https://developer.apple.com/library/mac/qa/qa1170/_index.html - if [ -z "$JAVA_HOME" ]; then - if [ -x "/usr/libexec/java_home" ]; then - export JAVA_HOME="`/usr/libexec/java_home`" - else - export JAVA_HOME="/Library/Java/Home" - fi - fi - ;; -esac - -if [ -z "$JAVA_HOME" ] ; then - if [ -r /etc/gentoo-release ] ; then - JAVA_HOME=`java-config --jre-home` - fi -fi - -if [ -z "$M2_HOME" ] ; then - ## resolve links - $0 may be a link to maven's home - PRG="$0" - - # need this for relative symlinks - while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG="`dirname "$PRG"`/$link" - fi - done - - saveddir=`pwd` - - M2_HOME=`dirname "$PRG"`/.. - - # make it fully qualified - M2_HOME=`cd "$M2_HOME" && pwd` - - cd "$saveddir" - # echo Using m2 at $M2_HOME -fi - -# For Cygwin, ensure paths are in UNIX format before anything is touched -if $cygwin ; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --unix "$M2_HOME"` - [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --unix "$JAVA_HOME"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --unix "$CLASSPATH"` -fi - -# For Mingw, ensure paths are in UNIX format before anything is touched -if $mingw ; then - [ -n "$M2_HOME" ] && - M2_HOME="`(cd "$M2_HOME"; pwd)`" - [ -n "$JAVA_HOME" ] && - JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" - # TODO classpath? -fi - -if [ -z "$JAVA_HOME" ]; then - javaExecutable="`which javac`" - if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then - # readlink(1) is not available as standard on Solaris 10. - readLink=`which readlink` - if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then - if $darwin ; then - javaHome="`dirname \"$javaExecutable\"`" - javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" - else - javaExecutable="`readlink -f \"$javaExecutable\"`" - fi - javaHome="`dirname \"$javaExecutable\"`" - javaHome=`expr "$javaHome" : '\(.*\)/bin'` - JAVA_HOME="$javaHome" - export JAVA_HOME - fi - fi -fi - -if [ -z "$JAVACMD" ] ; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - else - JAVACMD="`which java`" - fi -fi - -if [ ! -x "$JAVACMD" ] ; then - echo "Error: JAVA_HOME is not defined correctly." >&2 - echo " We cannot execute $JAVACMD" >&2 - exit 1 -fi - -if [ -z "$JAVA_HOME" ] ; then - echo "Warning: JAVA_HOME environment variable is not set." -fi - -CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher - -# traverses directory structure from process work directory to filesystem root -# first directory with .mvn subdirectory is considered project base directory -find_maven_basedir() { - - if [ -z "$1" ] - then - echo "Path not specified to find_maven_basedir" - return 1 - fi - - basedir="$1" - wdir="$1" - while [ "$wdir" != '/' ] ; do - if [ -d "$wdir"/.mvn ] ; then - basedir=$wdir - break - fi - # workaround for JBEAP-8937 (on Solaris 10/Sparc) - if [ -d "${wdir}" ]; then - wdir=`cd "$wdir/.."; pwd` - fi - # end of workaround - done - echo "${basedir}" -} - -# concatenates all lines of a file -concat_lines() { - if [ -f "$1" ]; then - echo "$(tr -s '\n' ' ' < "$1")" - fi -} - -BASE_DIR=`find_maven_basedir "$(pwd)"` -if [ -z "$BASE_DIR" ]; then - exit 1; -fi - -########################################################################################## -# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central -# This allows using the maven wrapper in projects that prohibit checking in binary data. -########################################################################################## -if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found .mvn/wrapper/maven-wrapper.jar" - fi -else - if [ "$MVNW_VERBOSE" = true ]; then - echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." - fi - jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar" - while IFS="=" read key value; do - case "$key" in (wrapperUrl) jarUrl="$value"; break ;; - esac - done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" - if [ "$MVNW_VERBOSE" = true ]; then - echo "Downloading from: $jarUrl" - fi - wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" - - if command -v wget > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found wget ... using wget" - fi - wget "$jarUrl" -O "$wrapperJarPath" - elif command -v curl > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found curl ... using curl" - fi - curl -o "$wrapperJarPath" "$jarUrl" - else - if [ "$MVNW_VERBOSE" = true ]; then - echo "Falling back to using Java to download" - fi - javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" - if [ -e "$javaClass" ]; then - if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then - if [ "$MVNW_VERBOSE" = true ]; then - echo " - Compiling MavenWrapperDownloader.java ..." - fi - # Compiling the Java class - ("$JAVA_HOME/bin/javac" "$javaClass") - fi - if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then - # Running the downloader - if [ "$MVNW_VERBOSE" = true ]; then - echo " - Running MavenWrapperDownloader.java ..." - fi - ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") - fi - fi - fi -fi -########################################################################################## -# End of extension -########################################################################################## - -export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} -if [ "$MVNW_VERBOSE" = true ]; then - echo $MAVEN_PROJECTBASEDIR -fi -MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" - -# For Cygwin, switch paths to Windows format before running java -if $cygwin; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --path --windows "$M2_HOME"` - [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --windows "$CLASSPATH"` - [ -n "$MAVEN_PROJECTBASEDIR" ] && - MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` -fi - -WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -exec "$JAVACMD" \ - $MAVEN_OPTS \ - -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ - "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ - ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/dev-assist/test-project/mvnw.cmd b/dev-assist/test-project/mvnw.cmd deleted file mode 100644 index fef5a8f..0000000 --- a/dev-assist/test-project/mvnw.cmd +++ /dev/null @@ -1,161 +0,0 @@ -@REM ---------------------------------------------------------------------------- -@REM Licensed to the Apache Software Foundation (ASF) under one -@REM or more contributor license agreements. See the NOTICE file -@REM distributed with this work for additional information -@REM regarding copyright ownership. The ASF licenses this file -@REM to you under the Apache License, Version 2.0 (the -@REM "License"); you may not use this file except in compliance -@REM with the License. You may obtain a copy of the License at -@REM -@REM https://www.apache.org/licenses/LICENSE-2.0 -@REM -@REM Unless required by applicable law or agreed to in writing, -@REM software distributed under the License is distributed on an -@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -@REM KIND, either express or implied. See the License for the -@REM specific language governing permissions and limitations -@REM under the License. -@REM ---------------------------------------------------------------------------- - -@REM ---------------------------------------------------------------------------- -@REM Maven2 Start Up Batch script -@REM -@REM Required ENV vars: -@REM JAVA_HOME - location of a JDK home dir -@REM -@REM Optional ENV vars -@REM M2_HOME - location of maven2's installed home dir -@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands -@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending -@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven -@REM e.g. to debug Maven itself, use -@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files -@REM ---------------------------------------------------------------------------- - -@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' -@echo off -@REM set title of command window -title %0 -@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' -@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% - -@REM set %HOME% to equivalent of $HOME -if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") - -@REM Execute a user defined script before this one -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre -@REM check for pre script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" -if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" -:skipRcPre - -@setlocal - -set ERROR_CODE=0 - -@REM To isolate internal variables from possible post scripts, we use another setlocal -@setlocal - -@REM ==== START VALIDATION ==== -if not "%JAVA_HOME%" == "" goto OkJHome - -echo. -echo Error: JAVA_HOME not found in your environment. >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -:OkJHome -if exist "%JAVA_HOME%\bin\java.exe" goto init - -echo. -echo Error: JAVA_HOME is set to an invalid directory. >&2 -echo JAVA_HOME = "%JAVA_HOME%" >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -@REM ==== END VALIDATION ==== - -:init - -@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". -@REM Fallback to current working directory if not found. - -set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% -IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir - -set EXEC_DIR=%CD% -set WDIR=%EXEC_DIR% -:findBaseDir -IF EXIST "%WDIR%"\.mvn goto baseDirFound -cd .. -IF "%WDIR%"=="%CD%" goto baseDirNotFound -set WDIR=%CD% -goto findBaseDir - -:baseDirFound -set MAVEN_PROJECTBASEDIR=%WDIR% -cd "%EXEC_DIR%" -goto endDetectBaseDir - -:baseDirNotFound -set MAVEN_PROJECTBASEDIR=%EXEC_DIR% -cd "%EXEC_DIR%" - -:endDetectBaseDir - -IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig - -@setlocal EnableExtensions EnableDelayedExpansion -for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a -@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% - -:endReadAdditionalConfig - -SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" -set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" -set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar" -FOR /F "tokens=1,2 delims==" %%A IN (%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties) DO ( - IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B -) - -@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central -@REM This allows using the maven wrapper in projects that prohibit checking in binary data. -if exist %WRAPPER_JAR% ( - echo Found %WRAPPER_JAR% -) else ( - echo Couldn't find %WRAPPER_JAR%, downloading it ... - echo Downloading from: %DOWNLOAD_URL% - powershell -Command "(New-Object Net.WebClient).DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')" - echo Finished downloading %WRAPPER_JAR% -) -@REM End of extension - -%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* -if ERRORLEVEL 1 goto error -goto end - -:error -set ERROR_CODE=1 - -:end -@endlocal & set ERROR_CODE=%ERROR_CODE% - -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost -@REM check for post script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" -if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" -:skipRcPost - -@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' -if "%MAVEN_BATCH_PAUSE%" == "on" pause - -if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% - -exit /B %ERROR_CODE% diff --git a/dev-assist/test-project/pom.xml b/dev-assist/test-project/pom.xml deleted file mode 100644 index ed6c822..0000000 --- a/dev-assist/test-project/pom.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - 4.0.0 - - org.springframework.boot - spring-boot-starter-parent - 2.1.4.RELEASE - - - com.example.scheduler - test-project - 0.0.1-SNAPSHOT - test-project - Demo project for Spring Boot - - - 1.8 - - - - - org.springframework.boot - spring-boot-starter-web - - - - org.springframework.boot - spring-boot-starter-test - test - - - com.jayway.jsonpath - json-path - test - - - mysql - mysql-connector-java - 8.0.16 - - - org.owasp.esapi - esapi - 2.1.0.1 - - - javax.mail - mail - 1.5.0-b01 - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - repackage - - - - - - - - diff --git a/dev-assist/test-project/scheduler-methods.json b/dev-assist/test-project/scheduler-methods.json deleted file mode 100644 index ef9ee25..0000000 --- a/dev-assist/test-project/scheduler-methods.json +++ /dev/null @@ -1,770 +0,0 @@ -{ - "methods":[ - { - "securityLevel":"none", - "cwe":[ - ], - "dataOut":{ - "parameters":[ - - ], - "return":false - }, - "framework":"", - "discovery":"", - "name":"com.example.scheduler.testproject.LogUtils.logRecord", - "link":"", - "comment":"", - "type":[ - "sink" - ], - "parameters":[ - "java.sql.ResultSet" - ], - "return":"void", - "dataIn":{ - "parameters":[ - - ], - "return":false - } - }, - { - "securityLevel":"none", - "cwe":[ - ], - "dataOut":{ - "parameters":[ - - ], - "return":false - }, - "framework":"", - "discovery":"", - "name":"com.example.scheduler.testproject.DatabaseHelper.getUserInformation", - "link":"", - "comment":"", - "type":[ - "source" - ], - "parameters":[ - "java.lang.String" - ], - "return":"java.sql.ResultSet", - "dataIn":{ - "parameters":[ - - ], - "return":false - } - }, - { - "securityLevel":"none", - "cwe":[ - ], - "dataOut":{ - "parameters":[ - - ], - "return":false - }, - "framework":"", - "discovery":"", - "name":"com.example.scheduler.testproject.UserNotification.sendEmail", - "link":"", - "comment":"", - "type":[ - "sink" - ], - "parameters":[ - "com.example.scheduler.testproject.User" - ], - "return":"boolean", - "dataIn":{ - "parameters":[ - - ], - "return":false - } - },{ - "securityLevel":"none", - "cwe":[ - "CWE601", - "CWE089" - ], - "dataOut":{ - "parameters":[ - - ], - "return":false - }, - "framework":"", - "discovery":"", - "name":"com.example.scheduler.testproject.ExampleSQLiOpenRedirect.doGet" , - "link":"", - "comment":"", - "type":[ - "sink", - "source" - ], - "parameters":[ - "javax.servlet.http.HttpServletRequest", - "javax.servlet.http.HttpServletResponse" - ], - "return":"void", - "dataIn":{ - "parameters":[ - - ], - "return":false - } - }, - { - "securityLevel":"none", - "cwe":[ - - ], - "dataOut":{ - "parameters":[ - - ], - "return":false - }, - "framework":"", - "discovery":"", - "name":"org.springframework.mock.web.MockHttpServletResponse.encodeRedirectUrl", - "link":"", - "comment":"", - "type":[ - "sanitizer" - ], - "parameters":[ - "java.lang.String" - ], - "return":"java.lang.String", - "dataIn":{ - "parameters":[ - - ], - "return":false - } - }, - { - "securityLevel":"none", - "cwe":[ - - ], - "dataOut":{ - "parameters":[ - - ], - "return":false - }, - "framework":"", - "discovery":"", - "name":"org.springframework.messaging.MessageHeaders.writeObject", - "link":"", - "comment":"", - "type":[ - "sink" - ], - "parameters":[ - "java.io.ObjectOutputStream" - ], - "return":"void", - "dataIn":{ - "parameters":[ - - ], - "return":false - } - }, - { - "securityLevel":"none", - "cwe":[ - - ], - "dataOut":{ - "parameters":[ - - ], - "return":false - }, - "framework":"", - "discovery":"", - "name":"org.springframework.core.env.PropertySourcesPropertyResolver.getPropertyAsRawString", - "link":"", - "comment":"", - "type":[ - "source" - ], - "parameters":[ - "java.lang.String" - ], - "return":"java.lang.String", - "dataIn":{ - "parameters":[ - - ], - "return":false - } - }, - { - "securityLevel":"none", - "cwe":[ - "CWE863", - "CWE306", - "CWE862" - ], - "dataOut":{ - "parameters":[ - - ], - "return":false - }, - "framework":"", - "discovery":"", - "name":"org.springframework.orm.jpa.DefaultJpaDialect.getJdbcConnection", - "link":"", - "comment":"", - "type":[ - "source" - ], - "parameters":[ - "javax.persistence.EntityManager", - "boolean" - ], - "return":"org.springframework.jdbc.datasource.ConnectionHandle", - "dataIn":{ - "parameters":[ - - ], - "return":false - } - }, - { - "securityLevel":"none", - "cwe":[ - "CWE089" - ], - "dataOut":{ - "parameters":[ - - ], - "return":false - }, - "framework":"", - "discovery":"", - "name":"org.springframework.jdbc.core.metadata.TableMetaDataContext.setSchemaName", - "link":"", - "comment":"", - "type":[ - "sink" - ], - "parameters":[ - "java.lang.String" - ], - "return":"void", - "dataIn":{ - "parameters":[ - - ], - "return":false - } - }, - { - "securityLevel":"none", - "cwe":[ - "CWE089" - ], - "dataOut":{ - "parameters":[ - - ], - "return":false - }, - "framework":"", - "discovery":"", - "name":"org.springframework.jdbc.support.rowset.ResultSetWrappingSqlRowSetMetaData.getColumnLabel", - "link":"", - "comment":"", - "type":[ - "source" - ], - "parameters":[ - "int" - ], - "return":"java.lang.String", - "dataIn":{ - "parameters":[ - - ], - "return":false - } - }, - { - "securityLevel":"none", - "cwe":[ - "CWE089" - ], - "dataOut":{ - "parameters":[ - - ], - "return":false - }, - "framework":"", - "discovery":"", - "name":"org.springframework.jdbc.support.JdbcAccessor.setDataSource", - "link":"", - "comment":"", - "type":[ - "sink" - ], - "parameters":[ - "javax.sql.DataSource" - ], - "return":"void", - "dataIn":{ - "parameters":[ - - ], - "return":false - } - }, - { - "securityLevel":"none", - "cwe":[ - - ], - "dataOut":{ - "parameters":[ - - ], - "return":false - }, - "framework":"", - "discovery":"", - "name":"org.springframework.messaging.simp.stomp.StompEncoder.escape", - "link":"", - "comment":"", - "type":[ - "sanitizer" - ], - "parameters":[ - "java.lang.String" - ], - "return":"java.lang.String", - "dataIn":{ - "parameters":[ - - ], - "return":false - } - }, - { - "securityLevel":"none", - "cwe":[ - - ], - "dataOut":{ - "parameters":[ - - ], - "return":false - }, - "framework":"", - "discovery":"", - "name":"org.springframework.util.StringUtils.replace", - "link":"", - "comment":"", - "type":[ - "sink", - "sanitizer" - ], - "parameters":[ - "java.lang.String", - "java.lang.String", - "java.lang.String" - ], - "return":"java.lang.String", - "dataIn":{ - "parameters":[ - - ], - "return":false - } - }, - { - "securityLevel":"none", - "cwe":[ - - ], - "dataOut":{ - "parameters":[ - - ], - "return":false - }, - "framework":"", - "discovery":"", - "name":"org.springframework.mock.web.MockPageContext.getResponse", - "link":"", - "comment":"", - "type":[ - "source" - ], - "parameters":[ - - ], - "return":"javax.servlet.ServletResponse", - "dataIn":{ - "parameters":[ - - ], - "return":false - } - }, - { - "securityLevel":"none", - "cwe":[ - - ], - "dataOut":{ - "parameters":[ - - ], - "return":false - }, - "framework":"", - "discovery":"", - "name":"org.springframework.messaging.core.AbstractDestinationResolvingMessagingTemplate.convertAndSend", - "link":"", - "comment":"", - "type":[ - "sink" - ], - "parameters":[ - "java.lang.String", - "java.lang.Object" - ], - "return":"void", - "dataIn":{ - "parameters":[ - - ], - "return":false - } - }, - { - "securityLevel":"none", - "cwe":[ - - ], - "dataOut":{ - "parameters":[ - - ], - "return":false - }, - "framework":"", - "discovery":"", - "name":"org.springframework.beans.factory.xml.SimplePropertyNamespaceHandler.parse", - "link":"", - "comment":"", - "type":[ - "source" - ], - "parameters":[ - "org.w3c.dom.Element", - "org.springframework.beans.factory.xml.ParserContext" - ], - "return":"org.springframework.beans.factory.config.BeanDefinition", - "dataIn":{ - "parameters":[ - - ], - "return":false - } - }, - { - "securityLevel":"none", - "cwe":[ - - ], - "dataOut":{ - "parameters":[ - - ], - "return":false - }, - "framework":"", - "discovery":"", - "name":"org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders", - "link":"", - "comment":"", - "type":[ - "sink", - "sanitizer" - ], - "parameters":[ - "java.lang.String", - "java.util.Properties" - ], - "return":"java.lang.String", - "dataIn":{ - "parameters":[ - - ], - "return":false - } - }, - { - "securityLevel":"none", - "cwe":[ - - ], - "dataOut":{ - "parameters":[ - - ], - "return":false - }, - "framework":"", - "discovery":"", - "name":"org.springframework.util.DigestUtils.encodeHex", - "link":"", - "comment":"", - "type":[ - "sanitizer" - ], - "parameters":[ - "byte[]" - ], - "return":"char[]", - "dataIn":{ - "parameters":[ - - ], - "return":false - } - }, - { - "securityLevel":"none", - "cwe":[ - - ], - "dataOut":{ - "parameters":[ - - ], - "return":false - }, - "framework":"", - "discovery":"", - "name":"org.springframework.mock.web.MockHttpServletResponse.encodeRedirectUrl", - "link":"", - "comment":"", - "type":[ - "sanitizer" - ], - "parameters":[ - "java.lang.String" - ], - "return":"java.lang.String", - "dataIn":{ - "parameters":[ - - ], - "return":false - } - }, - { - "securityLevel":"none", - "cwe":[ - - ], - "dataOut":{ - "parameters":[ - - ], - "return":false - }, - "framework":"", - "discovery":"", - "name":"org.springframework.util.StringUtils.stripFilenameExtension", - "link":"", - "comment":"", - "type":[ - "sanitizer" - ], - "parameters":[ - "java.lang.String" - ], - "return":"java.lang.String", - "dataIn":{ - "parameters":[ - - ], - "return":false - } - }, - { - "securityLevel":"none", - "cwe":[ - - ], - "dataOut":{ - "parameters":[ - - ], - "return":false - }, - "framework":"", - "discovery":"", - "name":"org.springframework.context.support.MessageSourceAccessor.getMessage", - "link":"", - "comment":"", - "type":[ - "source" - ], - "parameters":[ - "java.lang.String", - "java.lang.Object[]", - "java.lang.String", - "java.util.Locale" - ], - "return":"java.lang.String", - "dataIn":{ - "parameters":[ - - ], - "return":false - } - }, - { - "securityLevel":"none", - "cwe":[ - "CWE863", - "CWE306", - "CWE862" - ], - "dataOut":{ - "parameters":[ - - ], - "return":false - }, - "framework":"", - "discovery":"", - "name":"org.springframework.orm.hibernate4.HibernateTransactionManager.setPrepareConnection", - "link":"", - "comment":"", - "type":[ - "sink" - ], - "parameters":[ - "boolean" - ], - "return":"void", - "dataIn":{ - "parameters":[ - - ], - "return":false - } - }, - { - "securityLevel":"high", - "cwe":[ - - ], - "dataOut":{ - "parameters":[ - - ], - "return":false - }, - "framework":"", - "discovery":"", - "name":"com.example.scheduler.testproject.Utils.encodeForSQL", - "link":"", - "comment":"", - "type":[ - "sanitizer" - ], - "parameters":[ - "java.lang.String" - ], - "return":"java.lang.String", - "dataIn":{ - "parameters":[ - - ], - "return":false - } - }, - { - "securityLevel":"low", - "cwe":[ - "CWE862", - "CWE306", - "CWE863" - ], - "dataOut":{ - "parameters":[ - - ], - "return":true - }, - "framework":"generaljava", - "discovery":"manual", - "name":"com.novell.ldap.LDAPConnection.disconnect", - "link":"https:\/\/www.novell.com\/documentation\/developer\/jldap\/jldapenu\/api\/com\/novell\/ldap\/LDAPConnection.html", - "comment":"", - "type":[ - "authentication" - ], - "parameters":[ - "com.novell.ldap.LDAPConstraints" - ], - "return":"void", - "dataIn":{ - "parameters":[ - - ], - "return":false - } - }, { - "securityLevel":"none", - "cwe":[ - "CWE306" - ], - "dataOut":{ - "parameters":[ - - ], - "return":true - }, - "framework":"spring", - "discovery":"manual", - "name":"org.springframework.security.config.http.CsrfBeanDefinitionParser.getCsrfLogoutHandler", - "link":"", - "comment":"", - "type":[ - "source", - "authentication" - ], - "parameters":[ - - ], - "return":"org.springframework.beans.factory.config.BeanDefinition", - "dataIn":{ - "parameters":[ - - ], - "return":false - } - } - ] -} \ No newline at end of file diff --git a/dev-assist/test-project/src/main/java/com/example/scheduler/testproject/DatabaseHelper.java b/dev-assist/test-project/src/main/java/com/example/scheduler/testproject/DatabaseHelper.java deleted file mode 100644 index 555ba45..0000000 --- a/dev-assist/test-project/src/main/java/com/example/scheduler/testproject/DatabaseHelper.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.example.scheduler.testproject; - -import org.owasp.esapi.ESAPI; -import org.owasp.esapi.codecs.OracleCodec; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.ResultSet; -import java.sql.Statement; - -/* -Source: https://www.javacodegeeks.com/2012/11/sql-injection-in-java-application.html - */ - -public class DatabaseHelper { - - private String url; - private String dbName; - private String driver; - private String userName; - private String password; - private Connection conn = null; - - public void DatabaseHelper() { - - - url = "jdbc:mysql://192.168.2.128:3306/"; - dbName = "scheduler"; - driver = "com.mysql.jdbc.Driver"; - userName = "root"; - password = "password"; - } - - public ResultSet getUserInformation(String userId) { - try { - Class.forName(driver).newInstance(); - conn = DriverManager.getConnection(url + dbName, userName, password); - - Statement st = conn.createStatement(); - String query = "SELECT * FROM User where userId='" + userId + "'"; - conn.close(); - return st.executeQuery(query); - - } catch (Exception e) { - e.printStackTrace(); - } - return null; - } - - public String escapeUserInput(String userID){ - - return ESAPI.encoder().encodeForSQL( new OracleCodec(), userID ); - } -} diff --git a/dev-assist/test-project/src/main/java/com/example/scheduler/testproject/ExampleSQLiOpenRedirect.java b/dev-assist/test-project/src/main/java/com/example/scheduler/testproject/ExampleSQLiOpenRedirect.java deleted file mode 100644 index 2a83978..0000000 --- a/dev-assist/test-project/src/main/java/com/example/scheduler/testproject/ExampleSQLiOpenRedirect.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.example.scheduler.testproject; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.sql.Connection; -import java.sql.ResultSet; -import java.sql.Statement; - -public class ExampleSQLiOpenRedirect { - - private Connection conn; - - protected void doGet(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - - try { - //Get user ID from request - String userId = Utils.encodeForSQL(request.getParameter("userId")); - - //Create SQL statement using user ID and then execute query - Statement st = conn.createStatement(); - String query = "SELECT * FROM User WHERE userId='" + userId + "';"; - ResultSet res = st.executeQuery(query); - - //Create URL using user ID - String url = "https://" + userId + ".company.com"; - - //redirect to the URL - response.sendRedirect(url); - - conn.close(); - } catch (Exception e) { - e.printStackTrace(); - } - } -} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dev-assist/test-project/src/main/java/com/example/scheduler/testproject/LogUtils.java b/dev-assist/test-project/src/main/java/com/example/scheduler/testproject/LogUtils.java deleted file mode 100644 index e7b7965..0000000 --- a/dev-assist/test-project/src/main/java/com/example/scheduler/testproject/LogUtils.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.example.scheduler.testproject; - -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.logging.Logger; - -public class LogUtils { - - private static Logger logger = Logger.getLogger("MyLog"); - - public static void logRecord(ResultSet resultSet){ - - while (true) { - try { - if (!resultSet.next()) break; - } catch (SQLException e) { - e.printStackTrace(); - } - - try { - logger.info( resultSet.getString("userId")); - } catch (SQLException e) { - e.printStackTrace(); - } - } - } -} diff --git a/dev-assist/test-project/src/main/java/com/example/scheduler/testproject/TestProjectApplication.java b/dev-assist/test-project/src/main/java/com/example/scheduler/testproject/TestProjectApplication.java deleted file mode 100644 index 0c97c93..0000000 --- a/dev-assist/test-project/src/main/java/com/example/scheduler/testproject/TestProjectApplication.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.example.scheduler.testproject; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class TestProjectApplication { - - public static void main(String[] args) { - SpringApplication.run(TestProjectApplication.class, args); - } - -} diff --git a/dev-assist/test-project/src/main/java/com/example/scheduler/testproject/User.java b/dev-assist/test-project/src/main/java/com/example/scheduler/testproject/User.java deleted file mode 100644 index c54ee0a..0000000 --- a/dev-assist/test-project/src/main/java/com/example/scheduler/testproject/User.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.example.scheduler.testproject; - -public class User { - - private final long id; - private final String name; - private final String date; - - public User(long id, String name, String date) { - this.id = id; - this.name = name; - this.date = date; - } - - public long getId() { - return id; - } - - public String getName() { - return name; - } - - public String getDate() { - return date; - } - -} diff --git a/dev-assist/test-project/src/main/java/com/example/scheduler/testproject/UserController.java b/dev-assist/test-project/src/main/java/com/example/scheduler/testproject/UserController.java deleted file mode 100644 index 5e3c211..0000000 --- a/dev-assist/test-project/src/main/java/com/example/scheduler/testproject/UserController.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.example.scheduler.testproject; - -import java.sql.ResultSet; -import java.util.concurrent.atomic.AtomicLong; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class UserController { - - private static final String template = "Hello, %s!"; - private final AtomicLong counter = new AtomicLong(); - - @RequestMapping("/greeting") - public User greeting(@RequestParam(value="userId", defaultValue="World") String userId) { - - //Use ID to get record from database (SQL injection - DatabaseHelper databaseHelper = new DatabaseHelper(); - ResultSet resultSet = databaseHelper.getUserInformation(userId); - - //Write logs - LogUtils.logRecord(resultSet); - - //Redirect request - ExampleSQLiOpenRedirect redirect = new ExampleSQLiOpenRedirect(); - - return new User(counter.incrementAndGet(), - String.format(template, userId), "word"); - } -} diff --git a/dev-assist/test-project/src/main/java/com/example/scheduler/testproject/UserNotification.java b/dev-assist/test-project/src/main/java/com/example/scheduler/testproject/UserNotification.java deleted file mode 100644 index 869f87d..0000000 --- a/dev-assist/test-project/src/main/java/com/example/scheduler/testproject/UserNotification.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.example.scheduler.testproject; - -import javax.mail.*; -import javax.mail.internet.InternetAddress; -import javax.mail.internet.MimeBodyPart; -import javax.mail.internet.MimeMessage; -import javax.mail.internet.MimeMultipart; -import java.io.File; -import java.util.Properties; - -public class UserNotification { - - /* - Source: https://github.com/eugenp/tutorials/blob/master/core-java-networking/src/main/java/com/baeldung/mail/EmailService.java - */ - - public UserNotification() { - - } - - - public boolean sendEmail(User user) { - - Properties prop = new Properties(); - prop.put("mail.smtp.auth", true); - prop.put("mail.smtp.starttls.enable", "true"); - prop.put("mail.smtp.host", "smtp.mailtrap.io"); - prop.put("mail.smtp.port", "25"); - prop.put("mail.smtp.ssl.trust", "smtp.mailtrap.io"); - - Session session = Session.getInstance(prop, new Authenticator() { - @Override - protected PasswordAuthentication getPasswordAuthentication() { - return new PasswordAuthentication("test", "letsgo"); - } - }); - - try { - - Message message = new MimeMessage(session); - message.setFrom(new InternetAddress("from@gmail.com")); - message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("to@gmail.com")); - message.setSubject("Mail Subject"); - - String msg = "This is my first email using JavaMailer"; - - MimeBodyPart mimeBodyPart = new MimeBodyPart(); - mimeBodyPart.setContent(msg, "text/html"); - - MimeBodyPart attachmentBodyPart = new MimeBodyPart(); - attachmentBodyPart.attachFile(new File("pom.xml")); - - Multipart multipart = new MimeMultipart(); - multipart.addBodyPart(mimeBodyPart); - multipart.addBodyPart(attachmentBodyPart); - - message.setContent(multipart); - - Transport.send(message); - return true; - - } catch (Exception e) { - e.printStackTrace(); - return false; - } - } -} diff --git a/dev-assist/test-project/src/main/java/com/example/scheduler/testproject/Utils.java b/dev-assist/test-project/src/main/java/com/example/scheduler/testproject/Utils.java deleted file mode 100644 index 9ca6a38..0000000 --- a/dev-assist/test-project/src/main/java/com/example/scheduler/testproject/Utils.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.example.scheduler.testproject; - -import javax.servlet.http.HttpServletResponseWrapper; - -public class Utils { - - - - - - public static String encodeForSQL(String userId) { - - HttpServletResponseWrapper encoder = new HttpServletResponseWrapper(null); - String result = encoder.encodeRedirectURL(userId); - return result; - } - - public static String encodeForOpenRedirect(String userId) { - - HttpServletResponseWrapper encoder = new HttpServletResponseWrapper(null); - String result = encoder.encodeRedirectURL(userId); - return result; - } -} - \ No newline at end of file From e0320f7601a981724cdad549403c43eaac3bf179 Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 13 Feb 2024 10:03:46 +0100 Subject: [PATCH 06/54] Remove none labels for SRM and CWE properties --- .../resources/dataset/srm-repo-dataset.json | 3972 ++++++++++++++--- 1 file changed, 3353 insertions(+), 619 deletions(-) diff --git a/swan-pipeline/src/main/resources/dataset/srm-repo-dataset.json b/swan-pipeline/src/main/resources/dataset/srm-repo-dataset.json index 230c105..5737a7e 100644 --- a/swan-pipeline/src/main/resources/dataset/srm-repo-dataset.json +++ b/swan-pipeline/src/main/resources/dataset/srm-repo-dataset.json @@ -219,7 +219,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -518,7 +517,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -678,7 +676,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -744,7 +741,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -809,7 +805,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -1032,7 +1027,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -1196,7 +1190,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -1549,7 +1542,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -1685,7 +1677,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -1715,7 +1706,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -1780,7 +1770,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -1810,7 +1799,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -1840,7 +1828,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -2132,7 +2119,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -2162,7 +2148,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -2401,7 +2386,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -2704,7 +2688,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -2863,7 +2846,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -2893,7 +2875,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -2923,7 +2904,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -2959,7 +2939,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -3062,7 +3041,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -3095,7 +3073,3358 @@ "return": false }, "cwe": [ - "none" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": true, + "return": "java.lang.Object", + "srm": [ + "sink" + ], + "known": true, + "jar": "xwork-core-2.2.3.jar" + }, + { + "name": "org.springframework.jdbc.core.JdbcTemplate.query", + "parameters": [ + "java.lang.String", + "org.springframework.jdbc.core.ResultSetExtractor" + ], + "framework": "spring", + "link": "https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/jdbc/core/JdbcTemplate.html", + "comment": "sql query", + "discovery": "swan", + "dataIn": { + "parameters": [ + 0 + ], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE89" + ], + "javadoc": { + "method": "Execute a query given static SQL, reading the ResultSet with a ResultSetExtractor. Uses a JDBC Statement, not a PreparedStatement. If you want to execute a static query with a PreparedStatement, use the overloaded {@code query} method with {@code null} as argument array.", + "class": "This is the central class in the JDBC core package. It simplifies the use of JDBC and helps to avoid common errors. It executes core JDBC workflow, leaving application code to provide SQL and extract results. This class executes SQL queries or updates, initiating iteration over ResultSets and catching JDBC exceptions and translating them to the generic, more informative exception hierarchy defined in the org.springframework.dao package. Code using this class need only implement callback interfaces, giving them a clearly defined contract. The {@link PreparedStatementCreator} callback interface creates a prepared statement given a Connection, providing SQL and any necessary parameters. The {@link ResultSetExtractor} interface extracts values from a ResultSet. See also {@link PreparedStatementSetter} and {@link RowMapper} for two popular alternative callback interfaces. Can be used within a service implementation via direct instantiation with a DataSource reference, or get prepared in an application context and given to services as bean reference. Note: The DataSource should always be configured as a bean in the application context, in the first case given to the service directly, in the second case to the prepared template. Because this class is parameterizable by the callback interfaces and the {@link org.springframework.jdbc.support.SQLExceptionTranslator} interface, there should be no need to subclass it. All SQL operations performed by this class are logged at debug level, using \"org.springframework.jdbc.core.JdbcTemplate\" as log category." + }, + "interface": false, + "return": "java.lang.Object", + "srm": [ + "sink" + ], + "known": true, + "jar": null + }, + { + "name": "org.pmw.tinylog.Logger.debug", + "parameters": [ + "java.lang.String", + "java.lang.Object[]" + ], + "framework": "", + "link": "", + "comment": "org.pmw.tinylog.Logger", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE117" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "tinylog-1.1.jar" + }, + { + "name": "org.apache.xmlrpc.client.XmlRpcClient.execute", + "parameters": [ + "java.lang.String", + "java.lang.Object[]" + ], + "framework": "apache", + "link": "https://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/client/XmlRpcClient.html", + "comment": "Performes a request for the method provided as the first argument.", + "discovery": "swan", + "dataIn": { + "parameters": [ + 0, + 1 + ], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE78" + ], + "javadoc": { + "method": "Performs a request with the clients default configuration.", + "class": "The main access point of an XML-RPC client. This object serves mainly as an object factory. It is designed with singletons in mind: Basically, an application should be able to hold a single instance of XmlRpcClient in a static variable, unless you would be working with different factories. Until Apache XML-RPC 2.0, this object was used both as an object factory and as a place, where configuration details (server URL, suggested encoding, user credentials and the like) have been stored. In Apache XML-RPC 3.0, the configuration details has been moved to the {@link org.apache.xmlrpc.client.XmlRpcClientConfig} object. The configuration object is designed for being passed through the actual worker methods. A configured XmlRpcClient object is thread safe: In other words, the suggested use is, that you configure the client using {@link #setTransportFactory(XmlRpcTransportFactory)} and similar methods, store it in a field and never modify it again. Without modifications, the client may be used for an arbitrary number of concurrent requests." + }, + "interface": false, + "return": "java.lang.Object", + "srm": [ + "sink" + ], + "known": true, + "jar": null + }, + { + "name": "android.database.sqlite.SQLiteQueryBuilder.query", + "parameters": [ + "android.database.sqlite.SQLiteDatabase", + "java.lang.String[]", + "java.lang.String", + "java.lang.String[]", + "java.lang.String", + "java.lang.String", + "java.lang.String", + "java.lang.String", + "android.os.CancellationSignal" + ], + "framework": "", + "link": "", + "comment": "android.database.sqlite.SQLiteQueryBuilder", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE89" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "android.database.Cursor", + "srm": [ + "sink" + ], + "known": true, + "jar": "android-2.3.1.jar" + }, + { + "name": "org.springframework.web.socket.BinaryMessage.", + "parameters": [ + "byte[]" + ], + "framework": "spring", + "link": "https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/socket/BinaryMessage.html", + "comment": "Counter example for sanitizer (byte[] as param, but init)", + "discovery": "swan", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [], + "javadoc": { + "method": "Create a new binary WebSocket message with the given byte[] payload.", + "class": "A binary WebSocket message." + }, + "interface": false, + "return": "void", + "srm": [], + "known": true, + "jar": null + }, + { + "name": "javax.naming.directory.DirContext.search", + "parameters": [ + "javax.naming.Name", + "java.lang.String", + "java.lang.Object[]", + "javax.naming.directory.SearchControls" + ], + "framework": "", + "link": "", + "comment": "javax.naming.directory.DirContext", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE90" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": true, + "return": "javax.naming.NamingEnumeration", + "srm": [ + "sink" + ], + "known": true, + "jar": "jndi-1.2.1.jar" + }, + { + "name": "org.owasp.webgoat.session.RandomLessonTracker.hasCompleted", + "parameters": [ + "java.lang.String" + ], + "framework": "webgoat", + "link": "https://github.com/OWASP/WebGoat/blob/master/webgoat/src/main/java/org/owasp/webgoat/session/RandomLessonTracker.java", + "comment": "Counter example for sanitizer (has)", + "discovery": "swan", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [], + "javadoc": { + "method": "hasCompleted.", + "class": "RandomLessonTracker class." + }, + "interface": false, + "return": "boolean", + "srm": [], + "known": true, + "jar": null + }, + { + "name": "javax.servlet.http.Cookie.", + "parameters": [], + "framework": "", + "link": "", + "comment": "javax.servlet.http.Cookie", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE443" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "javax.servlet.jar" + }, + { + "name": "org.slf4j.Logger.error", + "parameters": [ + "org.slf4j.Marker", + "java.lang.String", + "java.lang.Object", + "java.lang.Object" + ], + "framework": "", + "link": "", + "comment": "org.slf4j.Logger", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE117" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": true, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "slf4j-api-2.0.6.jar" + }, + { + "name": "org.apache.commons.httpclient.auth.BasicScheme.authenticate", + "parameters": [ + "org.apache.commons.httpclient.Credentials", + "org.apache.commons.httpclient.HttpMethod" + ], + "framework": "apache", + "link": "https://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/auth/BasicScheme.html", + "comment": "When the input is true, the tocken should be trusted.", + "discovery": "swan", + "dataIn": { + "parameters": [ + 0 + ], + "return": false + }, + "dataOut": { + "parameters": [], + "return": true + }, + "cwe": [ + "CWE306", + "CWE863", + "CWE862" + ], + "javadoc": { + "method": "Produces basic authorization string for the given set of {@link Credentials}.", + "class": "Basic authentication scheme as defined in RFC 2617." + }, + "interface": false, + "return": "java.lang.String", + "srm": [ + "auth-safe-state" + ], + "known": true, + "jar": null + }, + { + "name": "org.pmw.tinylog.Logger.warn", + "parameters": [ + "java.lang.String", + "java.lang.Object[]" + ], + "framework": "", + "link": "", + "comment": "org.pmw.tinylog.Logger", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE117" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "tinylog-1.1.jar" + }, + { + "name": "org.apache.xpath.XPathAPI.selectNodeIterator", + "parameters": [ + "org.w3c.dom.Node", + "java.lang.String" + ], + "framework": "", + "link": "", + "comment": "org.apache.xpath.XPathAPI", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE643" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "org.w3c.dom.traversal.NodeIterator", + "srm": [ + "sink" + ], + "known": true, + "jar": "xalan-j2-2.7.0.jar" + }, + { + "name": "org.apache.http.client.methods.HttpGet.", + "parameters": [], + "framework": "", + "link": "", + "comment": "org.apache.http.client.methods.HttpGet", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE233" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "apache-httpcomponents-httpclient.jar" + }, + { + "name": "com.opensymphony.xwork2.ognl.OgnlUtil.setProperties", + "parameters": [ + "java.util.Map", + "java.lang.Object", + "java.util.Map" + ], + "framework": "", + "link": "", + "comment": "com.opensymphony.xwork2.ognl.OgnlUtil", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "xwork-core-2.2.3.jar" + }, + { + "name": "org.springframework.ldap.core.LdapOperations.search", + "parameters": [ + "java.lang.String", + "java.lang.String", + "int", + "java.lang.String[]", + "org.springframework.ldap.core.ContextMapper" + ], + "framework": "", + "link": "", + "comment": "org.springframework.ldap.core.LdapOperations", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE90" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": true, + "return": "java.util.List", + "srm": [ + "sink" + ], + "known": true, + "jar": "spring-ldap-1.3.1.RELEASE-all.jar" + }, + { + "name": "org.apache.log4j.Logger.log", + "parameters": [ + "org.apache.log4j.Priority", + "java.lang.Object", + "java.lang.Throwable" + ], + "framework": "", + "link": "", + "comment": "org.apache.log4j.Logger", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE117" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "apache-logging-log4j.jar" + }, + { + "name": "java.util.logging.Logger.entering", + "parameters": [ + "java.lang.String", + "java.lang.String", + "java.lang.Object[]" + ], + "framework": "", + "link": "", + "comment": "java.util.logging.Logger", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE117" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "java-rt-jar-stubs-1.5.0.jar" + }, + { + "name": "org.apache.log4j.Logger.fatal", + "parameters": [ + "java.lang.Object" + ], + "framework": "", + "link": "", + "comment": "org.apache.log4j.Logger", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE117" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "apache-logging-log4j.jar" + }, + { + "name": "org.slf4j.Logger.error", + "parameters": [ + "java.lang.String", + "java.lang.Object" + ], + "framework": "", + "link": "", + "comment": "org.slf4j.Logger", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE117" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": true, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "slf4j-api-2.0.6.jar" + }, + { + "name": "org.jboss.seam.log.Log.trace", + "parameters": [ + "java.lang.Object", + "java.lang.Throwable", + "java.lang.Object[]" + ], + "framework": "", + "link": "", + "comment": "org.jboss.seam.log.Log", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE117" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": true, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "jboss-seam.jar" + }, + { + "name": "com.sun.org.apache.xpath.internal.XPathAPI.selectSingleNode", + "parameters": [ + "org.w3c.dom.Node", + "java.lang.String", + "org.w3c.dom.Node" + ], + "framework": "", + "link": "", + "comment": "com.sun.org.apache.xpath.internal.XPathAPI", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE643" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "org.w3c.dom.NodeList", + "srm": [ + "sink" + ], + "known": true, + "jar": "jaxp-ri-5.2.0.jar" + }, + { + "name": "java.sql.PreparedStatement.executeQuery", + "parameters": [ + "java.lang.String" + ], + "framework": "", + "link": "", + "comment": "java.sql.PreparedStatement", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE89" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": true, + "return": "java.sql.ResultSet", + "srm": [ + "sink" + ], + "known": true, + "jar": "java-rt-jar-stubs-1.5.0.jar" + }, + { + "name": "javax.swing.text.JTextComponent.getText", + "parameters": [], + "framework": "", + "link": "", + "comment": "javax.swing.text.JTextComponent", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "java.lang.String", + "srm": [ + "source" + ], + "known": true, + "jar": "java-rt-jar-stubs-1.5.0.jar" + }, + { + "name": "javax.xml.xpath.XPath.evaluate", + "parameters": [ + "java.lang.String", + "java.lang.Object" + ], + "framework": "", + "link": "", + "comment": "javax.xml.xpath.XPath", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE643" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": true, + "return": "java.lang.String", + "srm": [ + "sink" + ], + "known": true, + "jar": "java-rt-jar-stubs-1.5.0.jar" + }, + { + "name": "org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder.ldapAuthentication", + "parameters": [], + "framework": "spring", + "link": "https://docs.spring.io/spring-security/site/docs/4.0.0.RELEASE/apidocs/org/springframework/security/config/annotation/authentication/builders/AuthenticationManagerBuilder.html", + "comment": "Authentication to LDAP. The owner of the return object can manipulate users to a LDAP connection.", + "discovery": "swan", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": true + }, + "cwe": [ + "CWE306" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "org.springframework.security.config.'annotation'.authentication.configurers.ldap.LdapAuthenticationProviderConfigurer", + "srm": [ + "auth-safe-state" + ], + "known": true, + "jar": null + }, + { + "name": "javax.servlet.http.HttpSession.putValue", + "parameters": [ + "java.lang.String", + "java.lang.Object" + ], + "framework": "", + "link": "", + "comment": "javax.servlet.http.HttpSession", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE501" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": true, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "javax.servlet.jar" + }, + { + "name": "java.sql.Statement.executeLargeUpdate", + "parameters": [ + "java.lang.String" + ], + "framework": "", + "link": "", + "comment": "java.sql.Statement", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE89" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": true, + "return": "long", + "srm": [ + "sink" + ], + "known": true, + "jar": "java-rt-jar-stubs-1.5.0.jar" + }, + { + "name": "java.lang.System.clearProperty", + "parameters": [ + "java.lang.String" + ], + "framework": "", + "link": "", + "comment": "java.lang.System", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "java.lang.String", + "srm": [ + "source" + ], + "known": true, + "jar": "java-rt-jar-stubs-1.5.0.jar" + }, + { + "name": "org.apache.commons.io.HexDump.dump", + "parameters": [ + "byte[]", + "long", + "java.io.OutputStream", + "int" + ], + "framework": "apache", + "link": "https://commons.apache.org/proper/commons-io/javadocs/api-2.5/org/apache/commons/io/HexDump.html", + "comment": "Sink", + "discovery": "swan", + "dataIn": { + "parameters": [ + 0, + 2 + ], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [], + "javadoc": { + "method": "Dump an array of bytes to an OutputStream. The output is formatted for human inspection, with a hexadecimal offset followed by the hexadecimal values of the next 16 bytes of data and the printable ASCII characters (if any) that those bytes represent printed per each line of output. The offset argument specifies the start offset of the data array within a larger entity like a file or an incoming stream. For example, if the data array contains the third kibibyte of a file, then the offset argument should be set to 2048. The offset value printed at the beginning of each line indicates where in that larger entity the first byte on that line is located. All bytes between the given index (inclusive) and the end of the data array are dumped.", + "class": "Dumps data in hexadecimal format. Provides a single function to take an array of bytes and display it in hexadecimal form. Origin of code: POI." + }, + "interface": false, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": null + }, + { + "name": "org.apache.wicket.protocol.http.ClientProperties.getNavigatorAppCodeName", + "parameters": [], + "framework": "", + "link": "", + "comment": "org.apache.wicket.protocol.http.ClientProperties", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "java.lang.String", + "srm": [ + "source" + ], + "known": true, + "jar": "org.apache.wicket-all-1.0.4.release.jar" + }, + { + "name": "javax.naming.directory.InitialDirContext.", + "parameters": [ + "java.util.Hashtable" + ], + "framework": "", + "link": "", + "comment": "", + "discovery": "thecodemaster.com", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [], + "javadoc": { + "method": "Constructs an initial DirContext using the supplied environment. Environment properties are discussed in the javax.naming.InitialContext class description. This constructor will not modify environment or save a reference to it, but may save a clone. Caller should not modify mutable keys and values in environment after it has been passed to the constructor.", + "class": "This class is the starting context for performing directory operations. The documentation in the class description of InitialContext (including those for synchronization) apply here." + }, + "interface": false, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "jndi-1.2.1.jar" + }, + { + "name": "com.opensymphony.xwork2.util.TextParseUtil.translateVariables", + "parameters": [ + "char", + "java.lang.String", + "com.opensymphony.xwork2.util.ValueStack", + "java.lang.Class" + ], + "framework": "", + "link": "", + "comment": "com.opensymphony.xwork2.util.TextParseUtil", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "java.lang.Object", + "srm": [ + "sink" + ], + "known": true, + "jar": "xwork-core-2.2.3.jar" + }, + { + "name": "org.apache.wicket.protocol.http.servlet.ServletPartFileItem.getString", + "parameters": [], + "framework": "", + "link": "", + "comment": "", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [], + "javadoc": { + "method": "Returns the contents of the file item as a String, using the default character encoding. This method uses {@link #get()} to retrieve the contents of the item.", + "class": "An adapter of Servlet 3.0 {@link Part} to Apache Commons FileUpload's {@link FileItem}" + }, + "interface": false, + "return": "java.lang.String", + "srm": [ + "source" + ], + "known": true, + "jar": "wicket-core-7.8.0.jar" + }, + { + "name": "org.jboss.seam.log.Log.info", + "parameters": [ + "java.lang.Object", + "java.lang.Object[]" + ], + "framework": "", + "link": "", + "comment": "org.jboss.seam.log.Log", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE117" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": true, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "jboss-seam.jar" + }, + { + "name": "org.apache.xpath.XPathAPI.selectNodeIterator", + "parameters": [ + "org.w3c.dom.Node", + "java.lang.String", + "org.w3c.dom.Node" + ], + "framework": "", + "link": "", + "comment": "org.apache.xpath.XPathAPI", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE643" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "org.w3c.dom.traversal.NodeIterator", + "srm": [ + "sink" + ], + "known": true, + "jar": "xalan-j2-2.7.0.jar" + }, + { + "name": "org.slf4j.Logger.warn", + "parameters": [ + "org.slf4j.Marker", + "java.lang.String", + "java.lang.Object[]" + ], + "framework": "", + "link": "", + "comment": "org.slf4j.Logger", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE117" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": true, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "slf4j-api-2.0.6.jar" + }, + { + "name": "org.springframework.expression.ExpressionParser.parseExpression", + "parameters": [ + "java.lang.String" + ], + "framework": "", + "link": "", + "comment": "org.springframework.expression.ExpressionParser", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE917" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": true, + "return": "org.springframework.expression.Expression", + "srm": [ + "sink" + ], + "known": true, + "jar": "org.springframework.expression-3.1.0.release.jar" + }, + { + "name": "org.owasp.esapi.reference.DefaultEncoder.decodeFromURL", + "parameters": [ + "java.lang.String" + ], + "framework": "", + "link": "", + "comment": "", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE117" + ], + "javadoc": { + "method": "Decode from URL. Implementations should first canonicalize and detect any double-encoding. If this check passes, then the data is decoded using URL decoding.", + "class": "Reference implementation of the Encoder interface. This implementation takes a whitelist approach to encoding, meaning that everything not specifically identified in a list of \"immune\" characters is encoded." + }, + "interface": false, + "return": "java.lang.String", + "srm": [ + "sanitizer" + ], + "known": true, + "jar": "esapi-2.0_rc10.jar" + }, + { + "name": "java.util.Scanner.nextLine", + "parameters": [], + "framework": "", + "link": "", + "comment": "java.util.Scanner", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "java.lang.String", + "srm": [ + "source" + ], + "known": true, + "jar": "java-rt-jar-stubs-1.5.0.jar" + }, + { + "name": "javax.naming.Context.lookup", + "parameters": [ + "java.lang.String" + ], + "framework": "", + "link": "", + "comment": "javax.naming.Context", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE90" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": true, + "return": "java.lang.Object", + "srm": [ + "sink" + ], + "known": true, + "jar": "jndi-1.2.1.jar" + }, + { + "name": "kotlin.io.FilesKt.createTempFile$default", + "parameters": [ + "java.lang.String", + "java.lang.String", + "java.io.File", + "int", + "java.lang.Object" + ], + "framework": "", + "link": "", + "comment": "kotlin.io.FilesKt", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE35" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "java.io.File", + "srm": [ + "sink" + ], + "known": true, + "jar": "kotlin-stdlib-1.0.6.jar" + }, + { + "name": "org.apache.commons.lang3.StringEscapeUtils.escapeJava", + "parameters": [ + "java.lang.String" + ], + "framework": "", + "link": "", + "comment": "", + "discovery": "thecodemaster.com", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [], + "javadoc": { + "method": "Escapes the characters in a {@code String} using Java String rules. Deals correctly with quotes and control-chars (tab, backslash, cr, ff, etc.) So a tab becomes the characters {@code '\\\\'} and {@code 't'}. The only difference between Java strings and JavaScript strings is that in JavaScript, a single quote and forward-slash (/) are escaped. Example: input string: He didn't say, \"Stop!\"\n output string: He didn't say, \\\"Stop!\\\"", + "class": "Escapes and unescapes {@code String}s for Java, Java Script, HTML and XML. #ThreadSafe#" + }, + "interface": false, + "return": "java.lang.String", + "srm": [ + "sanitizer" + ], + "known": true, + "jar": "commons-lang3-3.10.jar" + }, + { + "name": "org.slf4j.Logger.info", + "parameters": [ + "org.slf4j.Marker", + "java.lang.String", + "java.lang.Throwable" + ], + "framework": "", + "link": "", + "comment": "org.slf4j.Logger", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE117" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": true, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "slf4j-api-2.0.6.jar" + }, + { + "name": "javax.servlet.http.HttpServletRequestWrapper.getParameterValues", + "parameters": [ + "java.lang.String" + ], + "framework": "", + "link": "", + "comment": "javax.servlet.http.HttpServletRequestWrapper", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "java.lang.String[]", + "srm": [ + "source" + ], + "known": true, + "jar": "javax.servlet.jar" + }, + { + "name": "org.apache.commons.logging.Log.debug", + "parameters": [ + "java.lang.Object" + ], + "framework": "", + "link": "", + "comment": "org.apache.commons.logging.Log", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE117" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": true, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "apache-commons.jar" + }, + { + "name": "javax.servlet.ServletRequestWrapper.getParameter", + "parameters": [ + "java.lang.String" + ], + "framework": "javageneral", + "link": "https://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequestWrapper.html", + "comment": "", + "discovery": "swan", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": true + }, + "cwe": [ + "CWE601" + ], + "javadoc": { + "method": "The default behavior of this method is to return getParameter(String name) on the wrapped request object.", + "class": "Provides a convenient implementation of the ServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." + }, + "interface": false, + "return": "java.lang.String", + "srm": [ + "source" + ], + "known": true, + "jar": null + }, + { + "name": "java.lang.Runtime.exec", + "parameters": [ + "java.lang.String[]" + ], + "framework": "", + "link": "", + "comment": "java.lang.Runtime", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE78" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "java.lang.Process", + "srm": [ + "sink" + ], + "known": true, + "jar": "java-rt-jar-stubs-1.5.0.jar" + }, + { + "name": "com.novell.ldap.LDAPConnection.connect", + "parameters": [ + "java.lang.String", + "int" + ], + "framework": "", + "link": "", + "comment": "com.novell.ldap.LDAPConnection", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE90" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "ldap.jar" + }, + { + "name": "org.apache.commons.logging.Log.error", + "parameters": [ + "java.lang.Object" + ], + "framework": "", + "link": "", + "comment": "org.apache.commons.logging.Log", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE117" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": true, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "apache-commons.jar" + }, + { + "name": "java.lang.ProcessBuilder.", + "parameters": [], + "framework": "", + "link": "", + "comment": "java.lang.ProcessBuilder", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE78" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "java-rt-jar-stubs-1.5.0.jar" + }, + { + "name": "com.sun.org.apache.xpath.internal.XPathAPI.eval", + "parameters": [ + "org.w3c.dom.Node", + "java.lang.String" + ], + "framework": "", + "link": "", + "comment": "com.sun.org.apache.xpath.internal.XPathAPI", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE643" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "com.sun.org.apache.xpath.internal.objects.XObject", + "srm": [ + "sink" + ], + "known": true, + "jar": "jaxp-ri-5.2.0.jar" + }, + { + "name": "org.apache.torque.util.BasePeer.executeQuery", + "parameters": [ + "java.lang.String", + "java.lang.String", + "boolean" + ], + "framework": "", + "link": "", + "comment": "org.apache.torque.util.BasePeer", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE89" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "java.util.List", + "srm": [ + "sink" + ], + "known": true, + "jar": "torque-3.1.jar" + }, + { + "name": "java.sql.PreparedStatement.execute", + "parameters": [ + "java.lang.String" + ], + "framework": "", + "link": "", + "comment": "java.sql.PreparedStatement", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE89" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": true, + "return": "boolean", + "srm": [ + "sink" + ], + "known": true, + "jar": "java-rt-jar-stubs-1.5.0.jar" + }, + { + "name": "javax.servlet.http.HttpServletResponseWrapper.setIntHeader", + "parameters": [ + "java.lang.String", + "int" + ], + "framework": "", + "link": "", + "comment": "", + "discovery": "thecodemaster.com", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE79" + ], + "javadoc": { + "method": "The default behavior of this method is to call setIntHeader(String name, int value) on the wrapped response object.", + "class": "Provides a convenient implementation of the HttpServletResponse interface that can be subclassed by developers wishing to adapt the response from a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped response object." + }, + "interface": false, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "tomcat-5.5-servlet-api.jar" + }, + { + "name": "javax.portlet.ClientDataRequest.getContentType", + "parameters": [], + "framework": "", + "link": "", + "comment": "javax.portlet.ClientDataRequest", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": true, + "return": "java.lang.String", + "srm": [ + "source" + ], + "known": true, + "jar": "portlet-2.0.jar" + }, + { + "name": "java.util.logging.Logger.logp", + "parameters": [ + "java.util.logging.Level", + "java.lang.String", + "java.lang.String", + "java.lang.Throwable", + "java.util.function.Supplier" + ], + "framework": "", + "link": "", + "comment": "java.util.logging.Logger", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE117" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "java-rt-jar-stubs-1.5.0.jar" + }, + { + "name": "javax.servlet.http.HttpSession.setAttribute", + "parameters": [ + "java.lang.String", + "java.lang.Object" + ], + "framework": "", + "link": "", + "comment": "javax.servlet.http.HttpSession", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE501" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": true, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "javax.servlet.jar" + }, + { + "name": "anorm.SimpleSql.as", + "parameters": [ + "anorm.ResultSetParser", + "java.sql.Connection" + ], + "framework": "", + "link": "", + "comment": "anorm.SimpleSql", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE89" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "java.lang.Object", + "srm": [ + "sink" + ], + "known": true, + "jar": "anorm_2.10.jar" + }, + { + "name": "com.opensymphony.xwork2.ognl.OgnlUtil.getValue", + "parameters": [ + "java.lang.String", + "java.util.Map", + "java.lang.Object" + ], + "framework": "", + "link": "", + "comment": "com.opensymphony.xwork2.ognl.OgnlUtil", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "java.lang.Object", + "srm": [ + "sink" + ], + "known": true, + "jar": "xwork-core-2.2.3.jar" + }, + { + "name": "org.apache.wicket.protocol.http.ClientProperties.getNavigatorAppVersion", + "parameters": [], + "framework": "", + "link": "", + "comment": "org.apache.wicket.protocol.http.ClientProperties", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "java.lang.String", + "srm": [ + "source" + ], + "known": true, + "jar": "org.apache.wicket-all-1.0.4.release.jar" + }, + { + "name": "org.pmw.tinylog.Logger.trace", + "parameters": [ + "java.lang.String", + "java.lang.Object[]" + ], + "framework": "", + "link": "", + "comment": "org.pmw.tinylog.Logger", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE117" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "tinylog-1.1.jar" + }, + { + "name": "java.lang.System.getenv", + "parameters": [ + "java.lang.String" + ], + "framework": "", + "link": "", + "comment": "java.lang.System", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "java.lang.String", + "srm": [ + "source" + ], + "known": true, + "jar": "java-rt-jar-stubs-1.5.0.jar" + }, + { + "name": "java.awt.TextComponent.getText", + "parameters": [], + "framework": "", + "link": "", + "comment": "java.awt.TextComponent", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "java.lang.String", + "srm": [ + "source" + ], + "known": true, + "jar": "java-rt-jar-stubs-1.5.0.jar" + }, + { + "name": "javax.swing.text.JTextComponent.getSelectedText", + "parameters": [], + "framework": "", + "link": "", + "comment": "javax.swing.text.JTextComponent", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "java.lang.String", + "srm": [ + "source" + ], + "known": true, + "jar": "java-rt-jar-stubs-1.5.0.jar" + }, + { + "name": "org.springframework.web.util.HtmlUtils.htmlEscape", + "parameters": [ + "java.lang.String" + ], + "framework": "", + "link": "", + "comment": "", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [], + "javadoc": { + "method": "Turn special characters into HTML character references. Handles complete character set defined in HTML 4.01 recommendation. Escapes all special characters to their corresponding entity reference (e.g. {@code <}). Reference: http://www.w3.org/TR/html4/sgml/entities.html", + "class": "Utility class for HTML escaping. Escapes and unescapes based on the W3C HTML 4.01 recommendation, handling character entity references. Reference: http://www.w3.org/TR/html4/charset.html For a comprehensive set of String escaping utilities, consider Apache Commons Lang and its StringEscapeUtils class. We are not using that class here to avoid a runtime dependency on Commons Lang just for HTML escaping. Furthermore, Spring's HTML escaping is more flexible and 100% HTML 4.0 compliant." + }, + "interface": false, + "return": "java.lang.String", + "srm": [ + "sanitizer" + ], + "known": true, + "jar": "spring-web-4.3.9.RELEASE.jar" + }, + { + "name": "java.lang.Runtime.exec", + "parameters": [ + "java.lang.String", + "java.lang.String[]" + ], + "framework": "", + "link": "", + "comment": "java.lang.Runtime", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE78" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "java.lang.Process", + "srm": [ + "sink" + ], + "known": true, + "jar": "java-rt-jar-stubs-1.5.0.jar" + }, + { + "name": "java.sql.Statement.addBatch", + "parameters": [ + "java.lang.String" + ], + "framework": "", + "link": "", + "comment": "java.sql.Statement", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE89" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": true, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "java-rt-jar-stubs-1.5.0.jar" + }, + { + "name": "javax.servlet.http.Cookie.setComment", + "parameters": [ + "java.lang.String" + ], + "framework": "", + "link": "", + "comment": "", + "discovery": "thecodemaster.com", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [], + "javadoc": { + "method": "Specifies a comment that describes a cookie's purpose. The comment is useful if the browser presents the cookie to the user. Comments are not supported by Netscape Version 0 cookies.", + "class": "Creates a cookie, a small amount of information sent by a servlet to a Web browser, saved by the browser, and later sent back to the server. A cookie's value can uniquely identify a client, so cookies are commonly used for session management. A cookie has a name, a single value, and optional attributes such as a comment, path and domain qualifiers, a maximum age, and a version number. Some Web browsers have bugs in how they handle the optional attributes, so use them sparingly to improve the interoperability of your servlets. The servlet sends cookies to the browser by using the {@link HttpServletResponse#addCookie} method, which adds fields to HTTP response headers to send cookies to the browser, one at a time. The browser is expected to support 20 cookies for each Web server, 300 cookies total, and may limit cookie size to 4 KB each. The browser returns cookies to the servlet by adding fields to HTTP request headers. Cookies can be retrieved from a request by using the {@link HttpServletRequest#getCookies} method. Several cookies might have the same name but different path attributes. Cookies affect the caching of the Web pages that use them. HTTP 1.0 does not cache pages that use cookies created with this class. This class does not support the cache control defined with HTTP 1.1. This class supports both the Version 0 (by Netscape) and Version 1 (by RFC 2109) cookie specifications. By default, cookies are created using Version 0 to ensure the best interoperability." + }, + "interface": false, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "tomcat-5.5-servlet-api.jar" + }, + { + "name": "com.sun.org.apache.xpath.internal.XPathAPI.selectSingleNode", + "parameters": [ + "org.w3c.dom.Node", + "java.lang.String" + ], + "framework": "", + "link": "", + "comment": "com.sun.org.apache.xpath.internal.XPathAPI", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE643" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "org.w3c.dom.Node", + "srm": [ + "sink" + ], + "known": true, + "jar": "jaxp-ri-5.2.0.jar" + }, + { + "name": "org.springframework.mock.web.portlet.MockPortletRequest.setParameter", + "parameters": [ + "java.lang.String", + "java.lang.String" + ], + "framework": "spring", + "link": "", + "comment": "Sink", + "discovery": "swan", + "dataIn": { + "parameters": [ + 0, + 1 + ], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE79" + ], + "javadoc": { + "method": "", + "class": "Mock implementation of the {@link javax.portlet.PortletRequest} interface." + }, + "interface": false, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": null + }, + { + "name": "kotlin.io.FilesKt.createTempDir$default", + "parameters": [ + "java.lang.String", + "java.lang.String", + "java.io.File", + "Ijava.lang.Object" + ], + "framework": "", + "link": "", + "comment": "kotlin.io.FilesKt", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE35" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "java.io.File", + "srm": [ + "sink" + ], + "known": true, + "jar": "kotlin-stdlib-1.0.6.jar" + }, + { + "name": "java.lang.Class.getDeclaredMethod", + "parameters": [ + "java.lang.String", + "java.lang.Class[]" + ], + "framework": "", + "link": "", + "comment": "", + "discovery": "thecodemaster.com", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [], + "javadoc": { + "method": "Returns a {@code Method} object that reflects the specified declared method of the class or interface represented by this {@code Class} object. The {@code name} parameter is a {@code String} that specifies the simple name of the desired method, and the {@code parameterTypes} parameter is an array of {@code Class} objects that identify the method's formal parameter types, in declared order. If more than one method with the same parameter types is declared in a class, and one of these methods has a return type that is more specific than any of the others, that method is returned; otherwise one of the methods is chosen arbitrarily. If the name is \"\"or \"\" a {@code NoSuchMethodException} is raised. If this {@code Class} object represents an array type, then this method does not find the {@code clone()} method.", + "class": "Instances of the class {@code Class} represent classes and interfaces in a running Java application. An enum is a kind of class and an annotation is a kind of interface. Every array also belongs to a class that is reflected as a {@code Class} object that is shared by all arrays with the same element type and number of dimensions. The primitive Java types ({@code boolean}, {@code byte}, {@code char}, {@code short}, {@code int}, {@code long}, {@code float}, and {@code double}), and the keyword {@code void} are also represented as {@code Class} objects. {@code Class} has no public constructor. Instead {@code Class} objects are constructed automatically by the Java Virtual Machine as classes are loaded and by calls to the {@code defineClass} method in the class loader. The following example uses a {@code Class} object to print the class name of an object: void printClassName(Object obj) {\n System.out.println(\"The class of \" + obj +\n \" is \" + obj.getClass().getName());\n }\n It is also possible to get the {@code Class} object for a named type (or for void) using a class literal. See Section 15.8.2 of The Java™ Language Specification. For example: {@code System.out.println(\"The name of class Foo is: \"+Foo.class.getName());}" + }, + "interface": false, + "return": "java.lang.reflect.Method", + "srm": [ + "sink" + ], + "known": true, + "jar": "java-rt-jar-stubs-1.5.0.jar" + }, + { + "name": "java.lang.Class.getResourceAsStream", + "parameters": [ + "java.lang.String" + ], + "framework": "", + "link": "", + "comment": "java.lang.Class", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "java.io.InputStream", + "srm": [ + "source" + ], + "known": true, + "jar": "java-rt-jar-stubs-1.5.0.jar" + }, + { + "name": "java.lang.System.getenv", + "parameters": [], + "framework": "", + "link": "", + "comment": "java.lang.System", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "java.util.Map", + "srm": [ + "source" + ], + "known": true, + "jar": "java-rt-jar-stubs-1.5.0.jar" + }, + { + "name": "org.apache.log4j.Category.log", + "parameters": [ + "java.lang.String", + "org.apache.log4j.Priority", + "java.lang.Object", + "java.lang.Throwable" + ], + "framework": "", + "link": "", + "comment": "org.apache.log4j.Category", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE117" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "apache-logging-log4j.jar" + }, + { + "name": "org.hibernate.internal.SessionImpl.save", + "parameters": [ + "java.lang.Object" + ], + "framework": "", + "link": "", + "comment": "", + "discovery": "thecodemaster.com", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE89" + ], + "javadoc": { + "method": "Persist the given transient instance, first assigning a generated identifier. (Or using the current value of the identifier property if the assigned generator is used.) This operation cascades to associated instances if the association is mapped with {@code cascade=\"save-update\"}", + "class": "Concrete implementation of a Session. Exposes two interfaces: {@link org.hibernate.Session} to the application {@link org.hibernate.engine.spi.SessionImplementor} to other Hibernate components (SPI) This class is not thread-safe." + }, + "interface": false, + "return": "java.io.Serializable", + "srm": [ + "sink" + ], + "known": true, + "jar": "hibernate-core-5.2.10.Final.jar" + }, + { + "name": "org.owasp.webgoat.sql_injection.introduction.SqlInjectionLesson5a.completed", + "parameters": [ + "java.lang.String", + "java.lang.String", + "java.lang.String" + ], + "framework": "", + "link": "", + "comment": "", + "discovery": "", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "srm": [ + "source" + ], + "cwe": [], + "known": false, + "javadoc": { + "method": "", + "class": "" + }, + "return": "org.owasp.webgoat.assignments.AttackResult", + "interface": false, + "jar": "" + }, + { + "name": "org.apache.commons.httpclient.auth.NTLMScheme.authenticate", + "parameters": [ + "org.apache.commons.httpclient.NTCredentials", + "java.lang.String" + ], + "framework": "apache", + "link": "https://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/auth/NTLMScheme.html", + "comment": "Depricated method. The credentials are provided. The authentication string is returned.", + "discovery": "swan", + "dataIn": { + "parameters": [ + 0 + ], + "return": false + }, + "dataOut": { + "parameters": [], + "return": true + }, + "cwe": [ + "CWE306", + "CWE863", + "CWE862" + ], + "javadoc": { + "method": "Create a NTLM authorization string for the given challenge and NT credentials.", + "class": "An implementation of the Microsoft proprietary NTLM authentication scheme. For a detailed explanation of the NTLM scheme please see http://davenport.sourceforge.net/ntlm.html." + }, + "interface": false, + "return": "java.lang.String", + "srm": [ + "auth-safe-state" + ], + "known": true, + "jar": null + }, + { + "name": "org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.closeConnection", + "parameters": [ + "java.sql.Connection" + ], + "framework": "spring", + "link": "https://static.javadoc.io/org.springframework/spring/2.0.4/org/springframework/orm/hibernate3/LocalDataSourceConnectionProvider.html", + "comment": "Puts the state of the program to unauthenticated.", + "discovery": "swan", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE306", + "CWE89", + "CWE863", + "CWE862" + ], + "javadoc": { + "method": "This implementation simply calls Connection.close.", + "class": "Hibernate connection provider for local DataSource instances in an application context. This provider will be used if LocalSessionFactoryBean's \"dataSource\" property is set without a Hibernate TransactionManagerLookup." + }, + "interface": false, + "return": "void", + "srm": [ + "auth-unsafe-state" + ], + "known": true, + "jar": null + }, + { + "name": "javax.naming.event.EventDirContext.lookup", + "parameters": [ + "java.lang.String" + ], + "framework": "", + "link": "", + "comment": "javax.naming.event.EventDirContext", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE90" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": true, + "return": "java.lang.Object", + "srm": [ + "sink" + ], + "known": true, + "jar": "jndi-1.2.1.jar" + }, + { + "name": "org.apache.shiro.mgt.DefaultSecurityManager.login", + "parameters": [ + "org.apache.shiro.subject.Subject", + "org.apache.shiro.authc.AuthenticationToken" + ], + "framework": "apache", + "link": "https://shiro.apache.org/static/1.2.6/apidocs/org/apache/shiro/mgt/DefaultSecurityManager.html", + "comment": "Login the specified subject with the tocken and return the subject.", + "discovery": "swan", + "dataIn": { + "parameters": [ + 0, + 1 + ], + "return": false + }, + "dataOut": { + "parameters": [], + "return": true + }, + "cwe": [ + "CWE306", + "CWE863", + "CWE862" + ], + "javadoc": { + "method": "First authenticates the {@code AuthenticationToken} argument, and if successful, constructs a {@code Subject} instance representing the authenticated account's identity. Once constructed, the {@code Subject} instance is then {@link #bind bound} to the application for subsequent access before being returned to the caller.", + "class": "The Shiro framework's default concrete implementation of the {@link SecurityManager} interface, based around a collection of {@link org.apache.shiro.realm.Realm}s. This implementation delegates its authentication, authorization, and session operations to wrapped {@link Authenticator}, {@link Authorizer}, and {@link org.apache.shiro.session.mgt.SessionManager SessionManager} instances respectively via superclass implementation. To greatly reduce and simplify configuration, this implementation (and its superclasses) will create suitable defaults for all of its required dependencies, except the required one or more {@link Realm Realm}s. Because {@code Realm} implementations usually interact with an application's data model, they are almost always application specific; you will want to specify at least one custom {@code Realm} implementation that 'knows' about your application's data/security model (via {@link #setRealm} or one of the overloaded constructors). All other attributes in this class hierarchy will have suitable defaults for most enterprise applications. RememberMe notice: This class supports the ability to configure a {@link #setRememberMeManager RememberMeManager} for {@code RememberMe} identity services for login/logout, BUT, a default instance will not be created for this attribute at startup. Because RememberMe services are inherently client tier-specific and therefore aplication-dependent, if you want {@code RememberMe} services enabled, you will have to specify an instance yourself via the {@link #setRememberMeManager(RememberMeManager) setRememberMeManager} mutator. However if you're reading this JavaDoc with the expectation of operating in a Web environment, take a look at the {@code org.apache.shiro.web.DefaultWebSecurityManager} implementation, which does support {@code RememberMe} services by default at startup." + }, + "interface": false, + "return": "org.apache.shiro.subject.Subject", + "srm": [ + "auth-safe-state" + ], + "known": true, + "jar": null + }, + { + "name": "java.util.Scanner.", + "parameters": [], + "framework": "", + "link": "", + "comment": "java.util.Scanner", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "void", + "srm": [ + "source" + ], + "known": true, + "jar": "java-rt-jar-stubs-1.5.0.jar" + }, + { + "name": "org.hibernate.internal.SessionImpl.find", + "parameters": [ + "java.lang.Class", + "java.lang.Object", + "javax.persistence.LockModeType" + ], + "framework": "", + "link": "", + "comment": "", + "discovery": "thecodemaster.com", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE89" + ], + "javadoc": { + "method": "Find by primary key and lock. Search for an entity of the specified class and primary key and lock it with respect to the specified lock type. If the entity instance is contained in the persistence context, it is returned from there, and the effect of this method is the same as if the lock method had been called on the entity. If the entity is found within the persistence context and the lock mode type is pessimistic and the entity has a version attribute, the persistence provider must perform optimistic version checks when obtaining the database lock. If these checks fail, the OptimisticLockException will be thrown. If the lock mode type is pessimistic and the entity instance is found but cannot be locked: the PessimisticLockException will be thrown if the database locking failure causes transaction-level rollback the LockTimeoutException will be thrown if the database locking failure causes only statement-level rollback", + "class": "Concrete implementation of a Session. Exposes two interfaces: {@link org.hibernate.Session} to the application {@link org.hibernate.engine.spi.SessionImplementor} to other Hibernate components (SPI) This class is not thread-safe." + }, + "interface": false, + "return": "java.lang.Object", + "srm": [ + "sink" + ], + "known": true, + "jar": "hibernate-core-5.2.10.Final.jar" + }, + { + "name": "android.database.sqlite.SQLiteQueryBuilder.buildQuery", + "parameters": [ + "java.lang.String[]", + "java.lang.String", + "java.lang.String", + "java.lang.String", + "java.lang.String", + "java.lang.String" + ], + "framework": "", + "link": "", + "comment": "android.database.sqlite.SQLiteQueryBuilder", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE89" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "java.lang.String", + "srm": [ + "sink" + ], + "known": true, + "jar": "android-2.3.1.jar" + }, + { + "name": "org.springframework.ldap.core.LdapOperations.list", + "parameters": [ + "java.lang.String", + "org.springframework.ldap.core.NameClassPairMapper" + ], + "framework": "", + "link": "", + "comment": "org.springframework.ldap.core.LdapOperations", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE90" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": true, + "return": "java.util.List", + "srm": [ + "sink" + ], + "known": true, + "jar": "spring-ldap-1.3.1.RELEASE-all.jar" + }, + { + "name": "org.springframework.test.context.MergedContextConfiguration.nullSafeToString", + "parameters": [ + "org.springframework.test.context.ContextLoader" + ], + "framework": "spring", + "link": "https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/test/context/MergedContextConfiguration.html", + "comment": "Counter example for sanitizer", + "discovery": "swan", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [], + "javadoc": { + "method": "Generate a null-safe {@link String} representation of the supplied {@link ContextLoader} based solely on the fully qualified name of the loader or \"null\" if the supplied loaded is {@code null}.", + "class": "{@code MergedContextConfiguration} encapsulates the merged context configuration declared on a test class and all of its superclasses via {@link ContextConfiguration @ContextConfiguration}, {@link ActiveProfiles @ActiveProfiles}, and {@link TestPropertySource @TestPropertySource}. Merged context resource locations, annotated classes, active profiles, property resource locations, and in-lined properties represent all declared values in the test class hierarchy taking into consideration the semantics of the {@link ContextConfiguration#inheritLocations}, {@link ActiveProfiles#inheritProfiles}, {@link TestPropertySource#inheritLocations}, and {@link TestPropertySource#inheritProperties} flags. A {@link SmartContextLoader} uses {@code MergedContextConfiguration} to load an {@link org.springframework.context.ApplicationContext ApplicationContext}. {@code MergedContextConfiguration} is also used by the {@link org.springframework.test.context.cache.ContextCache ContextCache} as the key for caching an {@link org.springframework.context.ApplicationContext ApplicationContext} that was loaded using properties of this {@code MergedContextConfiguration}." + }, + "interface": false, + "return": "java.lang.String", + "srm": [], + "known": true, + "jar": null + }, + { + "name": "org.apache.commons.logging.Log.warn", + "parameters": [ + "java.lang.Object", + "java.lang.Throwable" + ], + "framework": "", + "link": "", + "comment": "org.apache.commons.logging.Log", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE117" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": true, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "apache-commons.jar" + }, + { + "name": "org.owasp.webgoat.plugins.Plugin.loadFiles", + "parameters": [ + "java.nio.file.Path" + ], + "framework": "webgoat", + "link": "", + "comment": "Source training set", + "discovery": "swan", + "dataIn": { + "parameters": [ + 0 + ], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [], + "javadoc": { + "method": "loadFiles.", + "class": "Plugin class." + }, + "interface": false, + "return": "void", + "srm": [ + "source" + ], + "known": true, + "jar": null + }, + { + "name": "org.apache.commons.lang3.text.StrSubstitutor.replace", + "parameters": [ + "char[]" + ], + "framework": "apache", + "link": "https://commons.apache.org/proper/commons-lang/javadocs/api-3.1/org/apache/commons/lang3/text/StrSubstitutor.html", + "comment": "", + "discovery": "swan", + "dataIn": { + "parameters": [ + 0 + ], + "return": false + }, + "dataOut": { + "parameters": [], + "return": true + }, + "cwe": [ + "CWE306", + "CWE79", + "CWE89", + "CWE78", + "CWE601" + ], + "javadoc": { + "method": "Replaces all the occurrences of variables with their matching values from the resolver using the given source array as a template. The array is not altered by this method.", + "class": "Substitutes variables within a string by values. This class takes a piece of text and substitutes all the variables within it. The default definition of a variable is {@code ${variableName}}. The prefix and suffix can be changed via constructors and set methods. Variable values are typically resolved from a map, but could also be resolved from system properties, or by supplying a custom variable resolver. The simplest example is to use this class to replace Java System properties. For example: StrSubstitutor.replaceSystemProperties(\n \"You are running with java.version = ${java.version} and os.name = ${os.name}.\");\n Typical usage of this class follows the following pattern: First an instance is created and initialized with the map that contains the values for the available variables. If a prefix and/or suffix for variables should be used other than the default ones, the appropriate settings can be performed. After that the {@code replace()} method can be called passing in the source text for interpolation. In the returned text all variable references (as long as their values are known) will be resolved. The following example demonstrates this: Map valuesMap = HashMap();\n valuesMap.put(\"animal\", \"quick brown fox\");\n valuesMap.put(\"target\", \"lazy dog\");\n String templateString = \"The ${animal} jumps over the ${target}.\";\n StrSubstitutor sub = new StrSubstitutor(valuesMap);\n String resolvedString = sub.replace(templateString);\n yielding: The quick brown fox jumps over the lazy dog.\n Also, this class allows to set a default value for unresolved variables. The default value for a variable can be appended to the variable name after the variable default value delimiter. The default value of the variable default value delimiter is ':-', as in bash and other *nix shells, as those are arguably where the default ${} delimiter set originated. The variable default value delimiter can be manually set by calling {@link #setValueDelimiterMatcher(StrMatcher)}, {@link #setValueDelimiter(char)} or {@link #setValueDelimiter(String)}. The following shows an example with variable default value settings: Map valuesMap = HashMap();\n valuesMap.put(\"animal\", \"quick brown fox\");\n valuesMap.put(\"target\", \"lazy dog\");\n String templateString = \"The ${animal} jumps over the ${target}. ${undefined.number:-1234567890}.\";\n StrSubstitutor sub = new StrSubstitutor(valuesMap);\n String resolvedString = sub.replace(templateString);\n yielding: The quick brown fox jumps over the lazy dog. 1234567890.\n In addition to this usage pattern there are some static convenience methods that cover the most common use cases. These methods can be used without the need of manually creating an instance. However if multiple replace operations are to be performed, creating and reusing an instance of this class will be more efficient. Variable replacement works in a recursive way. Thus, if a variable value contains a variable then that variable will also be replaced. Cyclic replacements are detected and will cause an exception to be thrown. Sometimes the interpolation's result must contain a variable prefix. As an example take the following source text: The variable ${${name}} must be used.\n Here only the variable's name referred to in the text should be replaced resulting in the text (assuming that the value of the {@code name} variable is {@code x}): The variable ${x} must be used.\n To achieve this effect there are two possibilities: Either set a different prefix and suffix for variables which do not conflict with the result text you want to produce. The other possibility is to use the escape character, by default '$'. If this character is placed before a variable reference, this reference is ignored and won't be replaced. For example: The variable $${${name}} must be used.\n In some complex scenarios you might even want to perform substitution in the names of variables, for instance ${jre-${java.specification.version}}\n {@code StrSubstitutor} supports this recursive substitution in variable names, but it has to be enabled explicitly by setting the {@link #setEnableSubstitutionInVariables(boolean) enableSubstitutionInVariables} property to true. This class is not thread safe." + }, + "interface": false, + "return": "java.lang.String", + "srm": [ + "sanitizer", + "sink" + ], + "known": true, + "jar": null + }, + { + "name": "com.novell.ldap.LDAPConnection.search", + "parameters": [ + "java.lang.String", + "java.lang.String", + "java.lang.String", + "boolean" + ], + "framework": "", + "link": "", + "comment": "com.novell.ldap.LDAPConnection", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE90" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "com.novell.ldap.LDAPSearchQueue", + "srm": [ + "sink" + ], + "known": true, + "jar": "ldap.jar" + }, + { + "name": "javax.mail.Message.setDescription", + "parameters": [ + "java.lang.String" + ], + "framework": "", + "link": "", + "comment": "javax.mail.Message", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "javax.mail.jar" + }, + { + "name": "org.apache.xpath.XPath.", + "parameters": [ + "java.lang.String", + "javax.xml.transform.SourceLocator", + "org.apache.xml.utils.PrefixResolver", + "int" + ], + "framework": "", + "link": "", + "comment": "", + "discovery": "thecodemaster.com", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [], + "javadoc": { + "method": "Construct an XPath object. (Needs review -sc) This method initializes an XPathParser/ Compiler and compiles the expression.", + "class": "The XPath class wraps an expression object and provides general services for execution of that expression." + }, + "interface": false, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "apache-xml-xalan.jar" + }, + { + "name": "com.sun.jndi.ldap.LdapCtx.lookup", + "parameters": [ + "java.lang.String" + ], + "framework": "", + "link": "", + "comment": "com.sun.jndi.ldap.LdapCtx", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE90" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "java.lang.Object", + "srm": [ + "sink" + ], + "known": true, + "jar": "sun-jndi-ldap.jar" + }, + { + "name": "org.pmw.tinylog.Logger.debug", + "parameters": [ + "java.lang.Throwable", + "java.lang.String", + "java.lang.Object[]" + ], + "framework": "", + "link": "", + "comment": "org.pmw.tinylog.Logger", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + "CWE117" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "tinylog-1.1.jar" + }, + { + "name": "javax.naming.directory.SearchControls.setReturningAttributes", + "parameters": [ + "java.lang.String[]" + ], + "framework": "", + "link": "", + "comment": "", + "discovery": "thecodemaster.com", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [], + "javadoc": { + "method": "Specifies the attributes that will be returned as part of the search. null indicates that all attributes will be returned. An empty array indicates no attributes are returned.", + "class": "This class encapsulates factors that determine scope of search and what gets returned as a result of the search. A SearchControls instance is not synchronized against concurrent multithreaded access. Multiple threads trying to access and modify a single SearchControls instance should lock the object." + }, + "interface": false, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "jndi-1.2.1.jar" + }, + { + "name": "javax.servlet.http.HttpServletRequest.getLocalAddr", + "parameters": [], + "framework": "", + "link": "", + "comment": "javax.servlet.http.HttpServletRequest", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": true, + "return": "java.lang.String", + "srm": [ + "source" + ], + "known": true, + "jar": "javax.servlet.jar" + }, + { + "name": "javax.servlet.ServletRequest.getRemoteHost", + "parameters": [], + "framework": "", + "link": "", + "comment": "javax.servlet.ServletRequest", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": true, + "return": "java.lang.String", + "srm": [ + "source" + ], + "known": true, + "jar": "javax.servlet.jar" + }, + { + "name": "org.eclipse.jetty.http.HttpField.getValue", + "parameters": [], + "framework": "", + "link": "", + "comment": "org.eclipse.jetty.http.HttpField", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "java.lang.String", + "srm": [ + "source" + ], + "known": true, + "jar": "jetty-http-11.0.14.jar" + }, + { + "name": "com.opensymphony.xwork2.util.reflection.ReflectionProvider.setProperty", + "parameters": [ + "java.lang.String", + "java.lang.Object", + "java.lang.Object", + "java.util.Map", + "boolean" + ], + "framework": "", + "link": "", + "comment": "com.opensymphony.xwork2.util.reflection.ReflectionProvider", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": true, + "return": "void", + "srm": [ + "sink" + ], + "known": true, + "jar": "xwork-core-2.2.3.jar" + }, + { + "name": "org.springframework.security.config.http.FormLoginBeanDefinitionParser.getLoginProcessingUrl", + "parameters": [], + "framework": "spring", + "link": "https://docs.spring.io/spring-security/site/docs/current/apidocs/org/springframework/security/config/http/FormLoginBeanDefinitionParser.html", + "comment": "", + "discovery": "swan", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": true + }, + "cwe": [ + "CWE306", + "CWE863", + "CWE862", + "CWE601" + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": false, + "return": "java.lang.String", + "srm": [ + "auth-no-change", + "source" + ], + "known": true, + "jar": null + }, + { + "name": "org.apache.commons.httpclient.auth.NTLMScheme.authenticate", + "parameters": [ + "org.apache.commons.httpclient.Credentials", + "org.apache.commons.httpclient.HttpMethod" + ], + "framework": "apache", + "link": "https://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/auth/NTLMScheme.html", + "comment": "Depricated method. The credentials are provided. The authentication string is returned.", + "discovery": "swan", + "dataIn": { + "parameters": [ + 0 + ], + "return": false + }, + "dataOut": { + "parameters": [], + "return": true + }, + "cwe": [ + "CWE306", + "CWE863", + "CWE862" + ], + "javadoc": { + "method": "Produces NTLM authorization string for the given set of {@link Credentials}.", + "class": "An implementation of the Microsoft proprietary NTLM authentication scheme. For a detailed explanation of the NTLM scheme please see http://davenport.sourceforge.net/ntlm.html." + }, + "interface": false, + "return": "java.lang.String", + "srm": [ + "auth-safe-state" + ], + "known": true, + "jar": null + }, + { + "name": "javax.servlet.ServletRequest.getParameter", + "parameters": [ + "java.lang.String" + ], + "framework": "", + "link": "", + "comment": "javax.servlet.ServletRequest", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ + ], + "javadoc": { + "method": "", + "class": "" + }, + "interface": true, + "return": "java.lang.String", + "srm": [ + "source" + ], + "known": true, + "jar": "javax.servlet.jar" + }, + { + "name": "com.opensymphony.xwork2.util.ValueStack.findValue", + "parameters": [ + "java.lang.String", + "java.lang.Class" + ], + "framework": "", + "link": "", + "comment": "com.opensymphony.xwork2.util.ValueStack", + "discovery": "find-sec-bugs", + "dataIn": { + "parameters": [], + "return": false + }, + "dataOut": { + "parameters": [], + "return": false + }, + "cwe": [ ], "javadoc": { "method": "", @@ -3514,7 +6843,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -3722,7 +7050,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -3788,7 +7115,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -3889,7 +7215,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -4451,7 +7776,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -4849,7 +8173,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -4882,7 +8205,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -5351,7 +8673,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -5548,7 +8869,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -5842,7 +9162,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -6004,7 +9323,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -6037,7 +9355,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -6239,7 +9556,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -6661,7 +9977,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -6723,7 +10038,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -6819,7 +10133,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -6950,7 +10263,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -7468,7 +10780,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -7477,7 +10788,6 @@ "interface": false, "return": "javax.naming.NamingEnumeration", "srm": [ - "none" ], "known": true, "jar": "jndi-1.2.1.jar" @@ -7566,7 +10876,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -7600,7 +10909,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -7734,7 +11042,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -7862,7 +11169,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -8026,7 +11332,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -8164,7 +11469,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -8194,7 +11498,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -8363,7 +11666,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -8847,7 +12149,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -8880,7 +12181,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -8947,7 +12247,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -9176,7 +12475,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -9476,7 +12774,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -9640,7 +12937,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -9746,7 +13042,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -9905,7 +13200,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -10429,7 +13723,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -10624,7 +13917,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -10715,7 +14007,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -10819,7 +14110,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -10948,7 +14238,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -11425,7 +14714,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -11797,7 +15085,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -11926,7 +15213,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -12383,7 +15669,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -12551,7 +15836,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -12686,7 +15970,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -12819,7 +16102,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -12853,7 +16135,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -12917,7 +16198,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -13082,7 +16362,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -13609,7 +16888,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -13703,7 +16981,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -13830,7 +17107,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -14021,7 +17297,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -14087,7 +17362,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -14330,7 +17604,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -14360,7 +17633,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -14477,7 +17749,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -14512,7 +17783,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -14799,7 +18069,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -14831,7 +18100,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -14866,7 +18134,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -15520,7 +18787,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -16211,7 +19477,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -16591,7 +19856,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -16660,7 +19924,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -16724,7 +19987,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -16895,7 +20157,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -16963,7 +20224,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -17023,7 +20283,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -17122,7 +20381,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -17154,7 +20412,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -17290,7 +20547,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -17539,7 +20795,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -17571,7 +20826,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -17734,7 +20988,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -17829,7 +21082,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -17889,7 +21141,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -18275,7 +21526,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -18408,7 +21658,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -18567,7 +21816,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -18668,7 +21916,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -18738,7 +21985,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -18770,7 +22016,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -18802,7 +22047,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -18959,7 +22203,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -19092,7 +22335,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -19122,7 +22364,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -19253,7 +22494,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -19353,7 +22593,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -19545,7 +22784,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -19740,7 +22978,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -19995,7 +23232,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -20260,7 +23496,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -20451,7 +23686,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -20685,7 +23919,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -20934,7 +24167,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -21215,7 +24447,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -21651,7 +24882,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -21809,7 +25039,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -21839,7 +25068,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -22033,7 +25261,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -22168,7 +25395,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -22264,7 +25490,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -22297,7 +25522,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -22435,7 +25659,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -22570,7 +25793,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -22636,7 +25858,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -23066,7 +26287,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -23100,7 +26320,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -23196,7 +26415,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -23262,7 +26480,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -23322,7 +26539,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -23547,7 +26763,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -23722,7 +26937,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -24128,7 +27342,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -24455,7 +27668,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -24490,7 +27702,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -24520,7 +27731,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -24582,7 +27792,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -24737,7 +27946,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -24769,7 +27977,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -24799,7 +28006,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -24831,7 +28037,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -24927,7 +28132,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -25073,7 +28277,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -25576,7 +28779,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -25735,7 +28937,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -26028,7 +29229,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -26861,7 +30061,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -26924,7 +30123,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -26956,7 +30154,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -27304,7 +30501,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -28067,7 +31263,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -28342,7 +31537,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -28438,7 +31632,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -28568,7 +31761,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -28598,7 +31790,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -28666,7 +31857,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -28736,7 +31926,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -29028,7 +32217,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -29319,7 +32507,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -29349,7 +32536,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -29445,7 +32631,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -29510,7 +32695,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -29578,7 +32762,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -29929,7 +33112,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -30029,7 +33211,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -30118,7 +33299,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -30383,7 +33563,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -30492,7 +33671,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -30751,7 +33929,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -30781,7 +33958,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -30906,7 +34082,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -31146,7 +34321,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -31273,7 +34447,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -31564,7 +34737,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -31596,7 +34768,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -31629,7 +34800,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -31659,7 +34829,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -31758,7 +34927,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -31852,7 +35020,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -31980,7 +35147,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -32047,7 +35213,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -32137,7 +35302,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -32270,7 +35434,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -32336,7 +35499,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -32542,7 +35704,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -32572,7 +35733,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -32637,7 +35797,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -32976,7 +36135,6 @@ "return": false }, "cwe": [ - "none" ], "javadoc": { "method": "", @@ -33008,7 +36166,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -33039,7 +36196,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -33069,7 +36225,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -33099,7 +36254,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -33127,7 +36281,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -33157,7 +36310,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -33191,7 +36343,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -33222,7 +36373,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -33252,7 +36402,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -33288,7 +36437,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -33316,7 +36464,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -33433,7 +36580,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -33461,7 +36607,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -33493,7 +36638,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -33524,7 +36668,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -33554,7 +36697,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -33586,7 +36728,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -33617,7 +36758,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -33649,7 +36789,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -33680,7 +36819,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -33711,7 +36849,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -33778,7 +36915,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -33870,7 +37006,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -33901,7 +37036,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -33931,7 +37065,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -33961,7 +37094,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -33991,7 +37123,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -34021,7 +37152,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -34081,7 +37211,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -34112,7 +37241,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -34143,7 +37271,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -34174,7 +37301,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -34202,7 +37328,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -34319,7 +37444,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -34536,7 +37660,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -34568,7 +37691,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -34626,7 +37748,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -34657,7 +37778,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -34713,7 +37833,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -34743,7 +37862,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -34771,7 +37889,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -34802,7 +37919,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -34865,7 +37981,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -34893,7 +38008,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -34925,7 +38039,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -34985,7 +38098,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -35013,7 +38125,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -35041,7 +38152,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -35071,7 +38181,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -35101,7 +38210,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -35131,7 +38239,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -35197,7 +38304,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -35256,7 +38362,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -35284,7 +38389,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -35410,7 +38514,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -35501,7 +38604,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -35529,7 +38631,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -35560,7 +38661,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -35744,7 +38844,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -35807,7 +38906,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -35866,7 +38964,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -35894,7 +38991,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -36010,7 +39106,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -36042,7 +39137,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -36100,7 +39194,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -36158,7 +39251,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -36247,7 +39339,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -36305,7 +39396,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -36333,7 +39423,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -36424,7 +39513,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -36454,7 +39542,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -36515,7 +39602,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -36546,7 +39632,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -36574,7 +39659,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -36636,7 +39720,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -36670,7 +39753,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -36701,7 +39783,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -36729,7 +39810,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -36757,7 +39837,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -36876,7 +39955,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -36966,7 +40044,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -36998,7 +40075,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -37029,7 +40105,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -37062,7 +40137,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -37093,7 +40167,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -37153,7 +40226,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -37183,7 +40255,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -37214,7 +40285,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -37244,7 +40314,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -37272,7 +40341,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -37335,7 +40403,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -37395,7 +40462,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -37425,7 +40491,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -37487,7 +40552,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -37515,7 +40579,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -37574,7 +40637,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -37662,7 +40724,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -37690,7 +40751,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -37783,7 +40843,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -37814,7 +40873,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -37905,7 +40963,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -37994,7 +41051,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -38022,7 +41078,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -38083,7 +41138,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -38113,7 +41167,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -38143,7 +41196,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -38327,7 +41379,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -38357,7 +41408,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -38482,7 +41532,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -38605,7 +41654,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -38637,7 +41685,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -38696,7 +41743,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -38727,7 +41773,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -38759,7 +41804,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -38845,7 +41889,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -38905,7 +41948,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -38935,7 +41977,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -38993,7 +42034,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -39023,7 +42063,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -39053,7 +42092,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -39083,7 +42121,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -39146,7 +42183,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -39183,7 +42219,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -39244,7 +42279,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -39272,7 +42306,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -39302,7 +42335,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -39332,7 +42364,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -39427,7 +42458,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -39457,7 +42487,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -39518,7 +42547,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -39548,7 +42576,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -39578,7 +42605,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -39695,7 +42721,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -39755,7 +42780,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -39786,7 +42810,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -39846,7 +42869,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -39878,7 +42900,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -39937,7 +42958,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -39968,7 +42988,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -39999,7 +43018,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -40030,7 +43048,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -40067,7 +43084,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -40097,7 +43113,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -40125,7 +43140,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -40153,7 +43167,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -40243,7 +43256,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -40305,7 +43317,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -40399,7 +43410,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -40430,7 +43440,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -40462,7 +43471,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -40554,7 +43562,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -40585,7 +43592,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -40615,7 +43621,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -40706,7 +43711,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -40736,7 +43740,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -40764,7 +43767,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -40795,7 +43797,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -40825,7 +43826,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -40857,7 +43857,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -40890,7 +43889,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -40920,7 +43918,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -41011,7 +44008,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -41039,7 +44035,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -41071,7 +44066,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -41160,7 +44154,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -41254,7 +44247,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -41282,7 +44274,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -41312,7 +44303,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -41436,7 +44426,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -41526,7 +44515,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -41582,7 +44570,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -41643,7 +44630,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -41673,7 +44659,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -41738,7 +44723,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -41768,7 +44752,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -41830,7 +44813,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -41858,7 +44840,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -41889,7 +44870,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -41948,7 +44928,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -42041,7 +45020,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -42072,7 +45050,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -42128,7 +45105,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -42159,7 +45135,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -42187,7 +45162,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -42219,7 +45193,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -42252,7 +45225,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -42312,7 +45284,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -42370,7 +45341,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -42398,7 +45368,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -42515,7 +45484,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -42546,7 +45514,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -42606,7 +45573,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -42758,7 +45724,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -42818,7 +45783,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -42846,7 +45810,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -42874,7 +45837,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -42904,7 +45866,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -42998,7 +45959,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -43026,7 +45986,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -43054,7 +46013,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -43144,7 +46102,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -43233,7 +46190,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -43264,7 +46220,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -43294,7 +46249,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -43419,7 +46373,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -43451,7 +46404,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -43482,7 +46434,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -43510,7 +46461,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -43540,7 +46490,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -43570,7 +46519,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -43602,7 +46550,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -43630,7 +46577,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -43658,7 +46604,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -43690,7 +46635,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -43749,7 +46693,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -43807,7 +46750,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -43837,7 +46779,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -43867,7 +46808,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -43899,7 +46839,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -43929,7 +46868,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -43959,7 +46897,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -43987,7 +46924,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -44018,7 +46954,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -44048,7 +46983,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -44076,7 +47010,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -44108,7 +47041,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -44143,7 +47075,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -44204,7 +47135,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -44234,7 +47164,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -44264,7 +47193,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -44326,7 +47254,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -44358,7 +47285,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -44482,7 +47408,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -44512,7 +47437,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -44573,7 +47497,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -44605,7 +47528,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -44647,7 +47569,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -44677,7 +47598,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -44707,7 +47627,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -44737,7 +47656,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -44885,7 +47803,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -44915,7 +47832,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -45034,7 +47950,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -45066,7 +47981,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -45128,7 +48042,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -45158,7 +48071,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -45189,7 +48101,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -45219,7 +48130,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -45281,7 +48191,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -45309,7 +48218,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -45339,7 +48247,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -45399,7 +48306,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -45429,7 +48335,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -45460,7 +48365,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -45491,7 +48395,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -45522,7 +48425,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -45583,7 +48485,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -45699,7 +48600,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -45730,7 +48630,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -45761,7 +48660,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -46040,7 +48938,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -46102,7 +48999,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -46133,7 +49029,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -46163,7 +49058,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -46196,7 +49090,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -46289,7 +49182,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -46377,7 +49269,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -46438,7 +49329,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -46498,7 +49388,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -46592,7 +49481,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -46624,7 +49512,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -46685,7 +49572,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -46776,7 +49662,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -46838,7 +49723,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -46866,7 +49750,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -46989,7 +49872,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -47019,7 +49901,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -47079,7 +49960,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -47262,7 +50142,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -47292,7 +50171,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -47320,7 +50198,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -47440,7 +50317,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -47470,7 +50346,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -47507,7 +50382,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -47535,7 +50409,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -47567,7 +50440,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -47597,7 +50469,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -47628,7 +50499,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -47658,7 +50528,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -47688,7 +50557,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -47750,7 +50618,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -47780,7 +50647,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -47811,7 +50677,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -47901,7 +50766,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -47957,7 +50821,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -47985,7 +50848,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -48015,7 +50877,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -48047,7 +50908,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -48075,7 +50935,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -48106,7 +50965,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -48205,7 +51063,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -48265,7 +51122,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -48327,7 +51183,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -48355,7 +51210,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -48383,7 +51237,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -48411,7 +51264,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -48439,7 +51291,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -48467,7 +51318,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -48497,7 +51347,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -48565,7 +51414,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -48626,7 +51474,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -48656,7 +51503,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -48686,7 +51532,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -48744,7 +51589,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -48895,7 +51739,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -48925,7 +51768,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -48986,7 +51828,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -49014,7 +51855,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -49045,7 +51885,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -49103,7 +51942,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -49196,7 +52034,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -49226,7 +52063,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -49254,7 +52090,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -49375,7 +52210,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -49467,7 +52301,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -49497,7 +52330,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -49528,7 +52360,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -49558,7 +52389,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -49591,7 +52421,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -49621,7 +52450,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -49653,7 +52481,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -49739,7 +52566,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -49769,7 +52595,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -49799,7 +52624,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -49829,7 +52653,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -49945,7 +52768,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -49982,7 +52804,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -50012,7 +52833,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -50070,7 +52890,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -50132,7 +52951,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -50165,7 +52983,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -50317,7 +53134,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -50376,7 +53192,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -50406,7 +53221,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -50438,7 +53252,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -50535,7 +53348,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -50565,7 +53377,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -50595,7 +53406,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -50623,7 +53433,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -50683,7 +53492,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -50713,7 +53521,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -50745,7 +53552,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -50777,7 +53583,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -50807,7 +53612,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -50839,7 +53643,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -50869,7 +53672,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -50899,7 +53701,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -50927,7 +53728,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -51102,7 +53902,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -51192,7 +53991,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -51254,7 +54052,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -51315,7 +54112,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -51343,7 +54139,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -51464,7 +54259,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -51494,7 +54288,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -51524,7 +54317,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -51552,7 +54344,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -51582,7 +54373,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -51642,7 +54432,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -51681,7 +54470,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -51740,7 +54528,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -51755,7 +54542,7 @@ { "name": "org.apache.commons.io.input.Tailer.readLines", "parameters": [ - "java.io.RandomAccessFile" + "org.apache.commons.io.input.Tailer.RandomAccessResourceBridge" ], "framework": "", "link": "", @@ -51798,7 +54585,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -51856,7 +54642,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -51886,7 +54671,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -51918,7 +54702,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -51948,7 +54731,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -51978,7 +54760,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -52038,7 +54819,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -52099,7 +54879,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -52131,7 +54910,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -52282,7 +55060,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -52312,7 +55089,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -52343,7 +55119,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -52404,7 +55179,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -52496,7 +55270,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -52558,7 +55331,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -52586,7 +55358,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -52616,7 +55387,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -52646,7 +55416,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -52734,7 +55503,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -52762,7 +55530,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -52792,7 +55559,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -52851,7 +55617,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -52912,7 +55677,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -52942,7 +55706,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -52972,7 +55735,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -53002,7 +55764,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -53093,7 +55854,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -53123,7 +55883,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -53214,7 +55973,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -53244,7 +56002,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -53275,7 +56032,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -53335,7 +56091,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -53365,7 +56120,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -53395,7 +56149,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -53426,7 +56179,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -53456,7 +56208,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -53486,7 +56237,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -53542,7 +56292,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -53573,7 +56322,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -53603,7 +56351,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -53635,7 +56382,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -53665,7 +56411,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -53695,7 +56440,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -53726,7 +56470,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -53849,7 +56592,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -53879,7 +56621,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -53907,7 +56648,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -53935,7 +56675,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -53998,7 +56737,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -54026,7 +56764,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -54054,7 +56791,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -54112,7 +56848,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { @@ -54175,7 +56910,6 @@ "return": false }, "srm": [ - "none" ], "cwe": [], "javadoc": { From fc9965c28f985b82c0e6cbd4f3900e50bd582d47 Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 13 Feb 2024 11:10:43 +0100 Subject: [PATCH 07/54] Remove duplicate comment --- .../java/de/fraunhofer/iem/swan/features/MekaFeatureSet.java | 1 - 1 file changed, 1 deletion(-) diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/MekaFeatureSet.java b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/MekaFeatureSet.java index e458969..5c781e3 100644 --- a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/MekaFeatureSet.java +++ b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/MekaFeatureSet.java @@ -75,7 +75,6 @@ public void createFeatures() { this.trainInstances.put("meka", convertToMekaInstances(trainingInstances)); - //Set attributed for the test instances //Set attributes for the test instances if (options.getPhase().toUpperCase().contentEquals(ModelEvaluator.Phase.PREDICT.name())) { From ec8127f4d029bd6a7beea4678df054a575999808 Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 27 Feb 2024 12:05:35 +0100 Subject: [PATCH 08/54] Rename SWAN merged binary relevance dataset set to code-br --- .../iem/swan/features/FeatureSet.java | 47 +++++++++---------- ...=> CodeBinaryRelevanceFeatureHandler.java} | 6 +-- 2 files changed, 26 insertions(+), 27 deletions(-) rename swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/{CodeFeatureHandlerOld.java => CodeBinaryRelevanceFeatureHandler.java} (99%) diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/FeatureSet.java b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/FeatureSet.java index 7541410..123618c 100644 --- a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/FeatureSet.java +++ b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/FeatureSet.java @@ -4,7 +4,7 @@ import de.fraunhofer.iem.swan.data.Category; import de.fraunhofer.iem.swan.data.Method; import de.fraunhofer.iem.swan.features.code.CodeFeatureHandler; -import de.fraunhofer.iem.swan.features.code.CodeFeatureHandlerOld; +import de.fraunhofer.iem.swan.features.code.CodeBinaryRelevanceFeatureHandler; import de.fraunhofer.iem.swan.features.code.ICodeFeature; import de.fraunhofer.iem.swan.features.code.type.IFeature; import de.fraunhofer.iem.swan.features.doc.DocFeatureHandler; @@ -26,12 +26,12 @@ public abstract class FeatureSet { protected Map codeAttributes; - protected Map codeAttributesOld; + protected Map codeBRAttributes; protected final HashMap instanceMap; protected final SwanOptions options; protected Dataset dataset; protected CodeFeatureHandler codeFeatureHandler; - protected CodeFeatureHandlerOld codeFeatureHandlerOld; + protected CodeBinaryRelevanceFeatureHandler codeBinaryRelevanceFeatureHandler; protected DocFeatureHandler docFeatureHandler; protected HashMap trainInstances; protected HashMap testInstances; @@ -46,7 +46,7 @@ public abstract class FeatureSet { */ public enum Type { CODE("CODE"), - CODX("CODX"), + CODE_BR("CODE-BR"), DOC_AUTO("DOC-AUTO"), DOC_MANUAL("DOC-MANUAL"); @@ -90,13 +90,13 @@ public void initializeFeatures() { for (FeatureSet.Type featureSet : featureSets) switch (featureSet) { - case CODX: + case CODE: codeFeatureHandler = new CodeFeatureHandler(); codeFeatureHandler.initializeFeatures(); break; - case CODE: - codeFeatureHandlerOld = new CodeFeatureHandlerOld(); - codeFeatureHandlerOld.initializeFeatures(); + case CODE_BR: + codeBinaryRelevanceFeatureHandler = new CodeBinaryRelevanceFeatureHandler(); + codeBinaryRelevanceFeatureHandler.initializeFeatures(); break; case DOC_MANUAL: docFeatureHandler = new DocFeatureHandler(); @@ -124,7 +124,7 @@ public ArrayList createAttributes(Set categories, Set addCodeAttributes(Set categories) { for (FeatureSet.Type featureSet : featureSets) switch (featureSet) { - case CODX: + case CODE: codeAttributes = new HashMap<>(); for (Category type : codeFeatureHandler.features().keySet()) { if (type == Category.NONE) continue; @@ -175,23 +175,23 @@ public ArrayList addCodeAttributes(Set categories) { } } break; - case CODE: - codeAttributesOld = new HashMap<>(); + case CODE_BR: + codeBRAttributes = new HashMap<>(); ArrayList ordinal = new ArrayList<>(); ordinal.add("true"); ordinal.add("false"); // Collect all attributes for the categories we classify into, and create the instance set. - for (Category type : codeFeatureHandlerOld.features().keySet()) { + for (Category type : codeBinaryRelevanceFeatureHandler.features().keySet()) { if (type == Category.NONE) continue; if (categories.contains(type)) { - for (IFeature f : codeFeatureHandlerOld.features().get(type)) { + for (IFeature f : codeBinaryRelevanceFeatureHandler.features().get(type)) { Attribute attr = new Attribute(f.toString(), ordinal); - if (!codeAttributesOld.containsKey(f) && !attributes.contains(attr)) { - codeAttributesOld.put(f, attr); + if (!codeBRAttributes.containsKey(f) && !attributes.contains(attr)) { + codeBRAttributes.put(f, attr); attributes.add(attr); } } @@ -235,11 +235,11 @@ public void evaluateFeatureData(Set methods) { for (FeatureSet.Type featureSet : featureSets) switch (featureSet) { - case CODX: + case CODE: codeFeatureHandler.evaluateCodeFeatureData(methods); break; - case CODE: - codeFeatureHandlerOld.evaluateCodeFeatureData(methods); + case CODE_BR: + codeBinaryRelevanceFeatureHandler.evaluateCodeFeatureData(methods); break; case DOC_MANUAL: docFeatureHandler.evaluateManualFeatureData(methods); @@ -256,7 +256,7 @@ public Instances createInstances(Instances instances, ArrayList attri for (FeatureSet.Type featureSet : featureSets) switch (featureSet) { case CODE: - case CODX: + case CODE_BR: instances.addAll(getCodeInstances(instances, methods, categories, attributes)); break; case DOC_MANUAL: @@ -319,7 +319,7 @@ public ArrayList getCodeInstances(Instances instances, Set met switch (featureSet) { - case CODX: + case CODE: for (Method method : methods) { @@ -334,7 +334,6 @@ public ArrayList getCodeInstances(Instances instances, Set met inst.setValue(instances.attribute(entry.getKey().toString()), String.valueOf(booleanData)); break; case CATEGORICAL: - String stringData = entry.getKey().applies(method).getStringValue(); inst.setValue(instances.attribute(entry.getKey().toString()), stringData); break; @@ -348,14 +347,14 @@ public ArrayList getCodeInstances(Instances instances, Set met instanceMap.put(method.getSignature(), instanceIndex++); } break; - case CODE: + case CODE_BR: // Evaluate all methods against the features. for (Method method : methods) { Instance inst = setClassValues(categories, method, instances, new DenseInstance(attributes.size())); inst.setDataset(instances); - for (Map.Entry entry : codeAttributesOld.entrySet()) { + for (Map.Entry entry : codeBRAttributes.entrySet()) { switch (entry.getKey().applies(method)) { case TRUE: diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/CodeFeatureHandlerOld.java b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/CodeBinaryRelevanceFeatureHandler.java similarity index 99% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/CodeFeatureHandlerOld.java rename to swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/CodeBinaryRelevanceFeatureHandler.java index 38b70fe..55f0b27 100644 --- a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/CodeFeatureHandlerOld.java +++ b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/CodeBinaryRelevanceFeatureHandler.java @@ -16,15 +16,15 @@ * @author Lisa Nguyen Quang Do, Goran Piskachev */ -public class CodeFeatureHandlerOld { +public class CodeBinaryRelevanceFeatureHandler { private Map> featuresMap; - private static final Logger logger = LoggerFactory.getLogger(CodeFeatureHandlerOld.class); + private static final Logger logger = LoggerFactory.getLogger(CodeBinaryRelevanceFeatureHandler.class); public Map> features() { return featuresMap; } - public CodeFeatureHandlerOld() { + public CodeBinaryRelevanceFeatureHandler() { } From 6015d4b7acb99a5c64435978ce2b403882b77ea2 Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 27 Feb 2024 12:52:26 +0100 Subject: [PATCH 09/54] Reformat code --- .../iem/swan/features/code/cat/ClassModifierFeature.java | 6 +++--- .../swan/features/code/cat/MethodAccessModifierFeature.java | 4 ++-- .../iem/swan/features/code/cat/MethodModifierFeature.java | 4 ++-- .../iem/swan/features/code/cat/MethodTypeFeature.java | 1 + .../features/code/stats/BranchingStatementCountFeature.java | 3 ++- .../code/stats/DefinedFunctionsInClassCountFeature.java | 2 +- .../swan/features/code/stats/ExceptionsCountFeature.java | 2 +- 7 files changed, 12 insertions(+), 10 deletions(-) diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/ClassModifierFeature.java b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/ClassModifierFeature.java index 910a348..8e2d9e4 100644 --- a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/ClassModifierFeature.java +++ b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/ClassModifierFeature.java @@ -14,7 +14,7 @@ public class ClassModifierFeature implements ICodeFeature { private FeatureResult featureResult; private ArrayList featureValues; - public enum Modifier{ + public enum Modifier { STATIC, ABSTRACT, FINAL, DEFAULT } @@ -36,15 +36,15 @@ public FeatureResult applies(Method method) { this.featureResult.setStringValue(String.valueOf(this.modifier)); return this.featureResult; } + @Override public FeatureType getFeatureType() { return FeatureType.CATEGORICAL; } - @Override - public String toString(){ + public String toString() { return "ClassModifier"; } diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodAccessModifierFeature.java b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodAccessModifierFeature.java index 1e69fd7..aaf0600 100644 --- a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodAccessModifierFeature.java +++ b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodAccessModifierFeature.java @@ -14,7 +14,7 @@ public class MethodAccessModifierFeature implements ICodeFeature { private FeatureResult featureResult; private ArrayList featureValues; - public enum Modifier{ + public enum Modifier { PRIVATE, PUBLIC, PROTECTED, DEFAULT } @@ -43,7 +43,7 @@ public FeatureType getFeatureType() { } @Override - public String toString(){ + public String toString() { return "MethodAccessModifier"; } diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodModifierFeature.java b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodModifierFeature.java index e72605e..8ea234b 100644 --- a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodModifierFeature.java +++ b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodModifierFeature.java @@ -14,7 +14,7 @@ public class MethodModifierFeature implements ICodeFeature { private FeatureResult featureResult; private ArrayList featureValues; - public enum Modifier{ + public enum Modifier { FINAL, STATIC, ABSTRACT, SYNCHRONIZED, DEFAULT } @@ -45,7 +45,7 @@ public FeatureType getFeatureType() { } @Override - public String toString(){ + public String toString() { return "MethodModifier"; } diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodTypeFeature.java b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodTypeFeature.java index f9318d6..f87dd82 100644 --- a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodTypeFeature.java +++ b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodTypeFeature.java @@ -106,6 +106,7 @@ private Boolean isGetter(Method method) { } private Boolean isSetter(Method method) { + //Check if Method is Setter if (!method.getSootMethod().getName().startsWith("set")) { return true; diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/BranchingStatementCountFeature.java b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/BranchingStatementCountFeature.java index fcccca6..0e4a032 100644 --- a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/BranchingStatementCountFeature.java +++ b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/BranchingStatementCountFeature.java @@ -11,10 +11,11 @@ public class BranchingStatementCountFeature implements ICodeFeature { private int numberOfBranchingStatements; private FeatureResult featureResult; - public BranchingStatementCountFeature(){ + public BranchingStatementCountFeature() { this.featureResult = new FeatureResult(); this.numberOfBranchingStatements = 0; } + @Override public FeatureResult applies(Method method) { if(method.getSootMethod().hasActiveBody()){ diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/DefinedFunctionsInClassCountFeature.java b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/DefinedFunctionsInClassCountFeature.java index 4c21ab4..9673851 100644 --- a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/DefinedFunctionsInClassCountFeature.java +++ b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/DefinedFunctionsInClassCountFeature.java @@ -14,7 +14,7 @@ public class DefinedFunctionsInClassCountFeature implements ICodeFeature { private FeatureResult featureResult; private int numberOfDefinedFunctions; - public DefinedFunctionsInClassCountFeature(){ + public DefinedFunctionsInClassCountFeature() { this.featureResult = new FeatureResult(); this.numberOfDefinedFunctions = 0; } diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ExceptionsCountFeature.java b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ExceptionsCountFeature.java index b3de1f3..3269bed 100644 --- a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ExceptionsCountFeature.java +++ b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ExceptionsCountFeature.java @@ -24,7 +24,7 @@ public FeatureResult applies(Method method) { @Override public FeatureType getFeatureType() { - return FeatureType.NUMERICAL; + return FeatureType.NUMERICAL; } @Override From b34dd26ea66a705a683084d2f64d0bcc9166ce44 Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 27 Feb 2024 12:59:52 +0100 Subject: [PATCH 10/54] Implement option to add new known SRMs to detected SRMs list --- .../de/fraunhofer/iem/swan/io/dataset/SrmList.java | 4 ++++ .../fraunhofer/iem/swan/model/ModelEvaluator.java | 14 ++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/dataset/SrmList.java b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/dataset/SrmList.java index 62c7872..b5b4f1b 100644 --- a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/dataset/SrmList.java +++ b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/dataset/SrmList.java @@ -71,4 +71,8 @@ public void removeUnclassifiedMethods() { methods = methods.stream().filter(m -> m.getAllCategories().size() > 0) .collect(Collectors.toSet()); } + + public void addMethods(Set m){ + methods.addAll(m); + } } \ No newline at end of file diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/ModelEvaluator.java b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/ModelEvaluator.java index 11dbe8a..a85f475 100644 --- a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/ModelEvaluator.java +++ b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/ModelEvaluator.java @@ -87,6 +87,20 @@ public void processResults(SrmList srmList) { predictedSrmList.removeUnclassifiedMethods(); logger.info("{} SRMs detected", predictedSrmList.getMethods().size()); + Set srmRepo = new HashSet<>(); + + if (options.isAddKnownSrms()) { + for (Method method : dataset.getTrainMethods()) { + if (!method.getSrm().isEmpty() && !method.getSrm().contains(Category.NONE) + ) { + srmRepo.add(method); + } + } + logger.info("Adding {} SRMs from repository", srmRepo.size()); + predictedSrmList.addMethods(srmRepo); + + } + try { if (!options.getOutputDir().isEmpty()) SrmListUtils.exportFile(predictedSrmList, options.getOutputDir() + File.separator + "swan-srm-cwe-list.json"); From fa38d2e1e42911eaac7ee3a30dd22daef096884e Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 27 Feb 2024 13:05:50 +0100 Subject: [PATCH 11/54] Rename MlPlan toolkit enum to ML2Plan --- .../src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java | 2 +- .../de/fraunhofer/iem/swan/features/FeatureSetSelector.java | 2 +- .../java/de/fraunhofer/iem/swan/model/ModelEvaluator.java | 5 ++--- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java index 129767e..f7668e4 100644 --- a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java +++ b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java @@ -49,7 +49,7 @@ public Integer run(SwanOptions options) throws Exception { switch (ModelEvaluator.Toolkit.valueOf(options.getToolkit().toUpperCase())) { case MEKA: - case MLPLAN: + case ML2PLAN: dataset = "meka"; break; case WEKA: diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/FeatureSetSelector.java b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/FeatureSetSelector.java index 6c66081..cebf335 100644 --- a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/FeatureSetSelector.java +++ b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/FeatureSetSelector.java @@ -10,7 +10,7 @@ public IFeatureSet select(Dataset dataset, SwanOptions options) { switch (ModelEvaluator.Toolkit.valueOf(options.getToolkit().toUpperCase())) { - case MLPLAN: + case ML2PLAN: case MEKA: MekaFeatureSet mekaFeatureSet = new MekaFeatureSet(dataset, options); mekaFeatureSet.createFeatures(); diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/ModelEvaluator.java b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/ModelEvaluator.java index a85f475..25130e2 100644 --- a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/ModelEvaluator.java +++ b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/ModelEvaluator.java @@ -28,8 +28,7 @@ public class ModelEvaluator { public enum Toolkit { WEKA, MEKA, - MLPLAN, - AUTOWEKA + ML2PLAN } public enum Phase { @@ -68,7 +67,7 @@ public void trainModel() { Weka weka = new Weka((WekaFeatureSet) features, options, methods); processResults(weka.trainModel()); break; - case MLPLAN: + case ML2PLAN: logger.info("Evaluating model with ML-PLAN"); ML2Plan mlPlan = new ML2Plan((MekaFeatureSet) features, options); processResults(mlPlan.trainModel()); From 5b1efe671f3dbdbc0941e495f9304e76899d0f6d Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 27 Feb 2024 13:10:39 +0100 Subject: [PATCH 12/54] Replace method set with Dataset class --- .../java/de/fraunhofer/iem/swan/SwanPipeline.java | 2 +- .../fraunhofer/iem/swan/model/ModelEvaluator.java | 13 ++++++++----- .../main/java/de/fraunhofer/iem/swan/util/Util.java | 2 +- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/SwanPipeline.java b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/SwanPipeline.java index 98fbff6..bee9261 100644 --- a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/SwanPipeline.java +++ b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/SwanPipeline.java @@ -46,7 +46,7 @@ public void run() throws IOException, InterruptedException { IFeatureSet featureSet = featureSetSelector.select(dataset, options); //Train and evaluate model for SRM and CWE categories - modelEvaluator = new ModelEvaluator(featureSet, options, dataset.getTestMethods()); + modelEvaluator = new ModelEvaluator(featureSet, options, dataset); modelEvaluator.trainModel(); long analysisTime = System.currentTimeMillis() - startAnalysisTime; diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/ModelEvaluator.java b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/ModelEvaluator.java index 25130e2..4fec30e 100644 --- a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/ModelEvaluator.java +++ b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/ModelEvaluator.java @@ -1,10 +1,12 @@ package de.fraunhofer.iem.swan.model; import de.fraunhofer.iem.swan.cli.SwanOptions; +import de.fraunhofer.iem.swan.data.Category; import de.fraunhofer.iem.swan.data.Method; import de.fraunhofer.iem.swan.features.IFeatureSet; import de.fraunhofer.iem.swan.features.MekaFeatureSet; import de.fraunhofer.iem.swan.features.WekaFeatureSet; +import de.fraunhofer.iem.swan.io.dataset.Dataset; import de.fraunhofer.iem.swan.io.dataset.SrmList; import de.fraunhofer.iem.swan.io.dataset.SrmListUtils; import de.fraunhofer.iem.swan.model.toolkit.ML2Plan; @@ -15,6 +17,7 @@ import java.io.File; import java.io.IOException; +import java.util.HashSet; import java.util.Set; /** @@ -38,14 +41,14 @@ public enum Phase { private IFeatureSet features; private SwanOptions options; - private Set methods; + private Dataset dataset; private SrmList predictedSrmList; private static final Logger logger = LoggerFactory.getLogger(ModelEvaluator.class); - public ModelEvaluator(IFeatureSet features, SwanOptions options, Set methods) { + public ModelEvaluator(IFeatureSet features, SwanOptions options, Dataset dataset) { this.features = features; this.options = options; - this.methods = methods; + this.dataset = dataset; predictedSrmList = new SrmList(); } @@ -60,11 +63,11 @@ public void trainModel() { case MEKA: logger.info("Evaluating model with MEKA"); - Meka meka = new Meka((MekaFeatureSet) features, options, methods); + Meka meka = new Meka((MekaFeatureSet) features, options, dataset.getTestMethods()); processResults(meka.trainModel()); break; case WEKA: - Weka weka = new Weka((WekaFeatureSet) features, options, methods); + Weka weka = new Weka((WekaFeatureSet) features, options, dataset.getTestMethods()); processResults(weka.trainModel()); break; case ML2PLAN: diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/util/Util.java b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/util/Util.java index 13e0ab1..e23dce3 100644 --- a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/util/Util.java +++ b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/util/Util.java @@ -342,7 +342,7 @@ public static String countCategories(Set methods) { results.put("all-methods", results.get("all-methods") + 1); - for (Category cat : met.getSrm()) { + for (Category cat : met.getAllCategories()) { results.put(cat.toString(), results.get(cat.toString()) + 1); } } From 967b19ab40ad6174c8ec701c4f01a73185256b0f Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 27 Feb 2024 13:11:55 +0100 Subject: [PATCH 13/54] Call reset function before setting up Soot --- .../src/main/java/de/fraunhofer/iem/swan/soot/Soot.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/soot/Soot.java b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/soot/Soot.java index 057f0de..a257be4 100644 --- a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/soot/Soot.java +++ b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/soot/Soot.java @@ -6,6 +6,7 @@ import de.fraunhofer.iem.swan.util.Util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import soot.G; import soot.Scene; import soot.SootClass; import soot.SootMethod; @@ -34,6 +35,8 @@ public Soot(String... path) { */ private void configure(String classpath) { + G.reset(); + Options.v().set_allow_phantom_refs(true); Options.v().set_prepend_classpath(true); Options.v().set_whole_program(true); @@ -132,7 +135,8 @@ private void prefilterInterfaces(Set methods) { if (sootMethod == null) { abstractMethods.add(method); - logger.info("Method purged from list {}", method.getSignature()); + + logger.info("Null method {} purged", method.getSignature()); } else { method.setSootMethod(sootMethod); method.setSootClass(getClass(method)); From 77b8d2ed4a4c8691f91fd4cd8fe087af36a8c2e0 Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 27 Feb 2024 13:13:39 +0100 Subject: [PATCH 14/54] Log path of exported ARFF file --- .../de/fraunhofer/iem/swan/features/MekaFeatureSet.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/MekaFeatureSet.java b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/MekaFeatureSet.java index 5c781e3..04714e7 100644 --- a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/MekaFeatureSet.java +++ b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/MekaFeatureSet.java @@ -7,6 +7,8 @@ import de.fraunhofer.iem.swan.model.ModelEvaluator; import de.fraunhofer.iem.swan.util.Util; import meka.filters.unsupervised.attribute.MekaClassAttributes; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import weka.core.Attribute; import weka.core.Instances; import weka.core.converters.ArffLoader; @@ -18,6 +20,7 @@ public class MekaFeatureSet extends FeatureSet implements IFeatureSet { Instances structure = null; + private static final Logger logger = LoggerFactory.getLogger(MekaFeatureSet.class); public MekaFeatureSet(Dataset dataset, SwanOptions options) { super(dataset, options, ModelEvaluator.Toolkit.MEKA); @@ -46,7 +49,8 @@ public void createFeatures() { evaluateFeatureData(methods); trainingInstances = createInstances(new Instances(structure), trainAttributes, dataset.getTrainMethods(), getCategories(options.getAllClasses())); - Util.exportInstancesToArff(trainingInstances, options.getFeatureSet().get(0)); + logger.info("Instances exported to: {}", Util.exportInstancesToArff(trainingInstances, options.getFeatureSet().get(0))); + } else { ArffLoader loader = new ArffLoader(); From 9668b20c7a3d3ba1204f5f3b291130aa6346c02b Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 27 Feb 2024 13:28:30 +0100 Subject: [PATCH 15/54] Update CLI documentation with new arguments --- .../de/fraunhofer/iem/swan/cli/CliRunner.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java index 1c578b3..6f8a37e 100644 --- a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java +++ b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java @@ -8,7 +8,7 @@ import java.util.concurrent.Callable; @CommandLine.Command(name = "SWAN CLI", mixinStandardHelpOptions = true, - version = "SWAN 3.2.0", description = "") + version = "SWAN 3.2.2", description = "") public class CliRunner implements Callable { @CommandLine.Option(names = {"-test", "--test-data"}, description = {"Path of test JARs or class files"}) @@ -32,23 +32,23 @@ public class CliRunner implements Callable { @CommandLine.Option(names = {"-o", "--output"}, description = {"Directory to save output files"}) private String outputDir = ""; - @CommandLine.Option(names = {"-f", "--feature"}, arity = "1..*", description = {"Select one or more feature sets: all, code, doc-auto or doc-manual"}) + @CommandLine.Option(names = {"-f", "--feature"}, arity = "1..*", description = {"Select one or more feature sets: all, code, code-br, doc-auto or doc-manual"}) private List featureSet = Collections.singletonList("code"); - @CommandLine.Option(names = {"-t", "--toolkit"}, description = {"ML toolkit: meka, weka, autoweka, mlplan"}) + @CommandLine.Option(names = {"-t", "--toolkit"}, description = {"ML toolkit: meka, weka, ml2plan"}) private String toolkit = "meka"; - @CommandLine.Option(names = {"-s", "--srm"}, description = {"SRM: all, source, sink, sanitizer, authentication, relevant"}) + @CommandLine.Option(names = {"-s", "--srm"}, description = {"SRM: all, source, sink, sanitizer, authentication"}) private List srmClasses = Collections.singletonList("all"); - @CommandLine.Option(names = {"-c", "--cwe"}, description = {"CWE: all, cwe078, cwe079, cwe089, cwe306, cwe601, cwe862, cwe863"}) + @CommandLine.Option(names = {"-c", "--cwe"}, description = {"CWE: all, cwe78, cwe79, cwe89, cwe306, cwe601, cwe862, cwe863"}) private List cweClasses = Collections.singletonList("all"); @CommandLine.Option(names = {"-arff", "--arff-data"}, description = {"Export training ARFF files"}) private boolean exportArffData = true; @CommandLine.Option(names = {"-doc", "--documented"}, description = {"Use only methods with Javadoc"}) - private boolean isDocumented = true; + private boolean isDocumented = false; @CommandLine.Option(names = {"-att", "--attribute-selection"}, description = {"Use attribute selection"}) private boolean reduceAttributes = false; @@ -66,10 +66,10 @@ public class CliRunner implements Callable { private double predictionThreshold = 0.5; @CommandLine.Option(names = {"-sr", "--known-srms"}, description = {"Add know SRMs from dataset"}) - private boolean addKnownSrms = true; + private boolean addKnownSrms = false; @CommandLine.Option(names = {"-ds", "--discovery"}, arity = "1..*", description = {"Select discovery for training set SRMs"}) - private List discovery = new ArrayList<>();// Collections.singletonList("manual"); + private List discovery = new ArrayList<>(); @CommandLine.Option(names = {"-tl", "--timelimit"}, description = {"Time (minutes) to execute operation "}) private int timeLimit = 1; From e3524868248972f8fe233cbc7d77a4624622d561 Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 27 Feb 2024 13:39:13 +0100 Subject: [PATCH 16/54] Rename SRM dataset JSON file --- .../src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java | 2 +- .../src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java | 2 +- .../dataset/{srm-repo-dataset.json => srm-dataset.json} | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename swan-pipeline/src/main/resources/dataset/{srm-repo-dataset.json => srm-dataset.json} (100%) diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java index 6f8a37e..b4ec066 100644 --- a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java +++ b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java @@ -24,7 +24,7 @@ public class CliRunner implements Callable { private String trainDataSourceDir = ""; @CommandLine.Option(names = {"-d", "--dataset"}, description = {"Path to JSON dataset file"}) - private String datasetJson = "/dataset/srm-repo-dataset.json"; + private String datasetJson = "/dataset/srm-dataset.json"; @CommandLine.Option(names = {"-in", "--train-instances"}, description = {"Path to ARFF files that contain training instances"}) private List arffInstancesFiles = new ArrayList<>(); diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java index f7668e4..743ea45 100644 --- a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java +++ b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java @@ -24,7 +24,7 @@ public Integer run(SwanOptions options) throws Exception { FileUtility fileUtility = new FileUtility(); - if (options.getDatasetJson().contentEquals("/dataset/srm-repo-dataset.json")) { + if (options.getDatasetJson().contentEquals("/dataset/srm-dataset.json")) { options.setDatasetJson(fileUtility.getResourceFile(options.getDatasetJson(), null).getAbsolutePath()); } diff --git a/swan-pipeline/src/main/resources/dataset/srm-repo-dataset.json b/swan-pipeline/src/main/resources/dataset/srm-dataset.json similarity index 100% rename from swan-pipeline/src/main/resources/dataset/srm-repo-dataset.json rename to swan-pipeline/src/main/resources/dataset/srm-dataset.json From 071d318239ed249f8067259774ee85d697044407 Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 27 Feb 2024 13:39:46 +0100 Subject: [PATCH 17/54] Delete old dataset JSON files --- .../src/main/resources/dataset/data-set.json | 4876 ------ .../main/resources/dataset/swan-dataset.json | 12338 ---------------- 2 files changed, 17214 deletions(-) delete mode 100644 swan-pipeline/src/main/resources/dataset/data-set.json delete mode 100644 swan-pipeline/src/main/resources/dataset/swan-dataset.json diff --git a/swan-pipeline/src/main/resources/dataset/data-set.json b/swan-pipeline/src/main/resources/dataset/data-set.json deleted file mode 100644 index 0dde2ab..0000000 --- a/swan-pipeline/src/main/resources/dataset/data-set.json +++ /dev/null @@ -1,4876 +0,0 @@ -{ - "methods": [ -{ - "name": "org.apache.xalan.xsltc.runtime.BasisLibrary.replace", - "return": "java.lang.String", - "parameters": ["java.lang.String","java.lang.String","java.lang.String[]"], - "dataIn": { - "return": false, - "parameters": [0,1,2] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://xml.apache.org/xalan-j/apidocs/org/apache/xalan/xsltc/runtime/BasisLibrary.html", - "cwe": ["cwe078","cwe079","cwe089", "cwe601"], - "type": ["sink","sanitizer"], - "comment": "String replacement" -}, -{ - "name": "org.springframework.security.crypto.password.StandardPasswordEncoder.encode", - "return": "java.lang.String", - "parameters": ["java.lang.CharSequence","byte[]"], - "dataIn": { - "return": false, - "parameters": [0,1] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-security/site/docs/current/apidocs/org/springframework/security/crypto/password/StandardPasswordEncoder.html", - "cwe": [], - "type": ["sanitizer"], - "comment": "" -}, -{ - "name": "org.owasp.webgoat.session.RandomLessonTracker.hasCompleted", - "return": "boolean", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "webgoat", - "link": "https://github.com/OWASP/WebGoat/blob/master/webgoat/src/main/java/org/owasp/webgoat/session/RandomLessonTracker.java", - "cwe": [], - "type": [], - "comment": "Counter example for sanitizer (has)" -}, -{ - "name": "org.springframework.mock.web.portlet.MockPortletRequest.setParameters", - "return": "void", - "parameters": ["java.util.Map"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring/docs/4.3.9.RELEASE/javadoc-api/org/springframework/mock/web/portlet/MockPortletRequest.html", - "cwe": ["cwe079"], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.apache.axis2.description.AxisService.printWSDLError", - "return": "void", - "parameters": ["java.io.OutputStream"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "http://people.apache.org/~ruwan/axis2/site/1.6.0/api/org/apache/axis2/description/AxisService.html", - "cwe": [], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.springframework.security.config.http.CsrfBeanDefinitionParser.getCsrfLogoutHandler", - "return": "org.springframework.beans.factory.config.BeanDefinition", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "", - "cwe": ["cwe306"], - "type": ["authentication","source"], - "comment": "" -}, -{ - "name": "org.jsoup.nodes.Entities.escape", - "return": "java.lang.String", - "parameters": ["java.lang.String","java.nio.charset.CharsetEncoder","org.jsoup.nodes.Entities$EscapeMode"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "jsoup", - "link": "https://github.com/jhy/jsoup/blob/master/src/main/java/org/jsoup/nodes/Entities.java", - "cwe": ["cwe079"], - "type": ["sanitizer"], - "comment": "" -}, -{ - "name": "org.springframework.mock.web.portlet.MockPortletRequest.setParameter", - "return": "void", - "parameters": ["java.lang.String","java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0,1] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "", - "cwe": ["cwe079"], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.springframework.security.config.authentication.CachingUserDetailsService.loadUserByUsername", - "return": "org.springframework.security.core.userdetails.UserDetails", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "", - "cwe": ["cwe862"], - "type": ["source"], - "comment": "Source training set" -}, -{ - "name": "org.springframework.jca.cci.connection.SingleConnectionFactory.SingleConnectionFactory", - "return": "void", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/jca/cci/connection/SingleConnectionFactory.html", - "cwe": [], - "type": [], - "comment": "Counter example for authentication (init)" -}, -{ - "name": "org.springframework.security.core.userdetails.UserDetailsByNameServiceWrapper.loadUserDetails", - "return": "org.springframework.security.core.userdetails.UserDetails", - "parameters": ["org.springframework.security.core.Authentication"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-security/site/docs/3.2.6.RELEASE/apidocs/org/springframework/security/core/userdetails/UserDetailsByNameServiceWrapper.html", - "cwe": ["cwe862"], - "type": ["source"], - "comment": "Source training set" -}, -{ - "name": "org.springframework.security.access.method.MapBasedMethodSecurityMetadataSource.isMatch", - "return": "boolean", - "parameters": ["java.lang.String","java.lang.String"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-security/site/docs/current/apidocs/org/springframework/security/access/method/MapBasedMethodSecurityMetadataSource.html", - "cwe": [], - "type": [], - "comment": "Counter example for authentication (none)" -}, -{ - "name": "com.novell.ldap.LDAPConnection.disconnect", - "return": "void", - "parameters": ["com.novell.ldap.LDAPConstraints"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "low", - "discovery": "manual", - "framework": "generaljava", - "link": "https://www.novell.com/documentation/developer/jldap/jldapenu/api/com/novell/ldap/LDAPConnection.html", - "cwe": ["cwe863","cwe306"], - "type": ["authentication"], - "comment": "Puts the program in a unauthenticated state." -}, -{ - "name": "org.apache.commons.lang3.text.StrSubstitutor.replace", - "return": "java.lang.String", - "parameters": ["char[]"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://commons.apache.org/proper/commons-lang/javadocs/api-3.1/org/apache/commons/lang3/text/StrSubstitutor.html", - "cwe": ["cwe078","cwe079","cwe306","cwe089", "cwe601"], - "type": ["sink","sanitizer"], - "comment": "" -}, -{ - "name": "org.apache.http.impl.auth.DigestScheme.authenticate", - "return": "org.apache.http.Header", - "parameters": ["org.apache.http.auth.Credentials","org.apache.http.HttpRequest"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "apache", - "link": "https://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/impl/auth/DigestScheme.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "Produces an authentication string for the given credentials." -}, -{ - "name": "org.apache.http.impl.auth.NTLMScheme.authenticate", - "return": "org.apache.http.Header", - "parameters": ["org.apache.http.auth.Credentials","org.apache.http.HttpRequest"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "apache", - "link": "https://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/impl/auth/NTLMScheme.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "Produces an authentication string for the given credentials." -}, -{ - "name": "java.io.File.getAbsoluteFile", - "return": "java.io.File", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "generaljava", - "link": "", - "cwe": [], - "type": ["source"], - "comment": "Source training set" -}, -{ - "name": "org.apache.commons.jxpath.ri.parser.XPathParser.unescape", - "return": "java.lang.String", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "http://commons.apache.org/proper/commons-jxpath/apidocs/org/apache/commons/jxpath/ri/parser/XPathParser.html", - "cwe": ["cwe079"], - "type": ["source"], - "comment": "Source training set" -}, -{ - "name": "org.springframework.jca.cci.connection.SingleConnectionFactory.closeConnection", - "return": "void", - "parameters": ["javax.resource.cci.Connection"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "low", - "discovery": "manual", - "framework": "spring", - "cwe": ["cwe863","cwe862","cwe306"], - "link": "https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/jca/cci/connection/SingleConnectionFactory.html", - "type": ["authentication"], - "comment": "Puts the state of the program to unauthenticated." -}, -{ - "name": "org.springframework.web.filter.DelegatingFilterProxy.class$", - "return": "java.lang.Class", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "", - "cwe": [], - "type": [], - "comment": "Counter example for sanitizer (String param, but implicit method)" -}, -{ - "name": "org.apache.commons.httpclient.auth.BasicScheme.authenticate", - "return": "java.lang.String", - "parameters": ["org.apache.commons.httpclient.UsernamePasswordCredentials","java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "apache", - "link": "https://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/auth/BasicScheme.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "When the input is true, the tocken should be trusted." -}, -{ - "name": "org.springframework.web.portlet.ModelAndView.ModelAndView", - "return": "void", - "parameters": ["java.lang.String","java.util.Map"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/portlet/ModelAndView.html", - "cwe": [], - "type": [], - "comment": "Counter example for sanitizer (String as param, but init)" -}, -{ - "name": "org.springframework.security.config.http.FormLoginBeanDefinitionParser.getLoginPage", - "return": "java.lang.String", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://github.com/spring-projects/spring-security/blob/master/config/src/main/java/org/springframework/security/config/http/FormLoginBeanDefinitionParser.java", - "cwe": ["cwe079", "cwe601"], - "type": ["source"], - "comment": "Counter example for authentications and cwe306" -}, -{ - "name": "org.apache.commons.httpclient.auth.BasicScheme.authenticate", - "return": "java.lang.String", - "parameters": ["org.apache.commons.httpclient.Credentials","org.apache.commons.httpclient.HttpMethod"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "apache", - "link": "https://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/auth/BasicScheme.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "When the input is true, the tocken should be trusted." -}, -{ - "name": "org.apache.xmlrpc.webserver.XmlRpcServletServer.setResponseHeader", - "return": "void", - "parameters": ["org.apache.xmlrpc.common.ServerStreamConnection","java.lang.String","java.lang.String"], - "dataIn": { - "return": false, - "parameters": [1,2] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/webserver/XmlRpcServletServer.html", - "cwe": ["cwe079"], - "type": ["sink"], - "comment": "Counter example for sanitizer (set)" -}, -{ - "name": "net.sourceforge.pebble.domain.Comment.setAuthenticated", - "return": "void", - "parameters": ["boolean"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "pebble", - "link": "http://help.collab.net/index.jsp?topic=/iaf-700/pebble-soap-javadocs/net/sourceforge/pebble/domain/Comment.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication","sink"], - "comment": "When the input is true, the tocken should be trusted." -}, -{ - "name": "org.apache.commons.httpclient.auth.NTLMScheme.authenticate", - "return": "java.lang.String", - "parameters": ["org.apache.commons.httpclient.NTCredentials","java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "apache", - "link": "https://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/auth/NTLMScheme.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "Depricated method. The credentials are provided. The authentication string is returned." -}, -{ - "name": "org.apache.xmlrpc.webserver.HttpServletRequestImpl.getRealPath", - "return": "java.lang.String", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/webserver/HttpServletRequestImpl.html", - "cwe": ["cwe079"], - "type": ["source"], - "comment": "Counter example for sanitizer." -}, -{ - "name": "java.lang.String.replaceFirst", - "return": "java.lang.String", - "parameters": ["java.lang.String","java.lang.String"], - "dataIn": { - "return": false, - "parameters": [1] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "generaljava", - "link": "https://docs.oracle.com/javase/7/docs/api/java/lang/String.html", - "cwe": ["cwe078","cwe079","cwe089", "cwe601"], - "type": ["sink","sanitizer"], - "comment": "String manipulation" -}, -{ - "name": "com.google.auth.oauth2.UserCredentials.getClientSecret", - "return": "java.lang.String", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "oauth", - "link": "http://google.github.io/google-auth-library-java/releases/0.6.0/apidocs/com/google/auth/oauth2/UserCredentials.html", - "cwe": [], - "type": ["source"], - "comment": "Source training set" -}, -{ - "name": "org.apache.xmlrpc.webserver.HttpServletResponseImpl.encodeUrl", - "return": "java.lang.String", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/webserver/HttpServletResponseImpl.html", - "cwe": ["cwe079", "cwe601"], - "type": ["sanitizer"], - "comment": "" -}, -{ - "name": "org.apache.xmlrpc.webserver.ServletWebServer.access$000", - "return": "javax.servlet.http.HttpServlet", - "parameters": ["org.apache.xmlrpc.webserver.ServletWebServer"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/webserver/ServletWebServer.html", - "cwe": [], - "type": [], - "comment": "Counter example for sanitizer (implicit method)" -}, -{ - "name": "org.springframework.web.servlet.tags.UrlTag.createQueryString", - "return": "java.lang.String", - "parameters": ["java.util.List","java.util.Set","boolean"], - "dataIn": { - "return": false, - "parameters": [0,1] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/servlet/tags/UrlTag.html", - "cwe": [], - "type": ["source"], - "comment": "Source training set" -}, -{ - "name": "org.springframework.web.socket.server.support.WebSocketHttpRequestHandler.handleRequest", - "return": "void", - "parameters": ["javax.servlet.http.HttpServletRequest","javax.servlet.http.HttpServletResponse"], - "dataIn": { - "return": false, - "parameters": [0,1] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/socket/server/support/WebSocketHttpRequestHandler.html", - "cwe": ["cwe079"], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.springframework.beans.factory.support.MethodOverrides.isEmpty", - "return": "boolean", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/beans/factory/support/MethodOverrides.html", - "cwe": [], - "type": [], - "comment": "Counter example for authentication (none)" -}, -{ - "name": "org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.execute", - "return": "java.lang.Object", - "parameters": ["org.apache.xmlrpc.XmlRpcRequest"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/server/ReflectiveXmlRpcHandler.html", - "cwe": ["cwe078", "cwe079"], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "com.mysql.jdbc.Statement.executeQuery", - "return": "java.sql.ResultSet", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "java", - "link": "", - "cwe": ["cwe089"], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.apache.commons.httpclient.auth.BasicScheme.authenticate", - "return": "java.lang.String", - "parameters": ["org.apache.commons.httpclient.UsernamePasswordCredentials"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "apache", - "link": "https://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/auth/BasicScheme.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "When the input is true, the tocken should be trusted." -}, -{ - "name": "org.springframework.mock.web.MockJspWriter.print", - "return": "void", - "parameters": ["boolean"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/mock/web/MockJspWriter.html", - "cwe": [], - "type": [], - "comment": "Counter example for sink" -}, -{ - "name": "org.springframework.messaging.simp.stomp.StompDecoder.unescape", - "return": "java.lang.String", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/messaging/simp/stomp/StompDecoder.html", - "cwe": [], - "type": ["source"], - "comment": "Counter example for sanitizer (unescape)" -}, -{ - "name": "org.owasp.webgoat.controller.Logout.logout", - "return": "org.springframework.web.servlet.ModelAndView", - "parameters": ["java.lang.String","java.lang.String"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "low", - "discovery": "manual", - "framework": "webgoat", - "link": "https://github.com/sonatype/WebGoat/blob/master/src/main/java/org/owasp/webgoat/controller/Logout.java", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "Puts the program in an un-authenticated state." -}, -{ - "name": "net.sourceforge.pebble.event.AuditListener.blogEntryUnpublished", - "return": "void", - "parameters": ["net.sourceforge.pebble.api.event.blogentry.BlogEntryEvent"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "pebble", - "link": "https://github.com/balzaczyy/pebble-clone/blob/master/src/main/java/net/sourceforge/pebble/event/AuditListener.java", - "cwe": [], - "type": [], - "comment": "Counter example for sink" -}, -{ - "name": "org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder.inMemoryAuthentication", - "return": "org.springframework.security.config.'annotation'.authentication.configurers.provisioning.InMemoryUserDetailsManagerConfigurer", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "spring", - "link": "http://docs.spring.io/autorepo/docs/spring-security/4.0.0.M1/apidocs/index.html?org/springframework/security/config/annotation/authentication/builders/AuthenticationManagerBuilder.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "the method returns a configurator for manipulation of users' details. The return object is authenticated and the owner may execute critical ops." -}, -{ - "name": "org.springframework.test.context.transaction.TransactionalTestExecutionListener.runAfterTransactionMethods", - "return": "void", - "parameters": ["org.springframework.test.context.TestContext"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring/docs/4.0.0.M1_to_4.2.0.M2/Spring%20Framework%204.0.0.M1/org/springframework/test/context/transaction/TransactionalTestExecutionListener.html", - "cwe": ["cwe078"], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.springframework.web.servlet.tags.UrlTag.createUrl", - "return": "java.lang.String", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/servlet/tags/UrlTag.html", - "cwe": ["cwe079", "cwe601"], - "type": ["source", "sink"], - "comment": "Source training set" -}, -{ - "name": "org.springframework.jca.cci.connection.ConnectionFactoryUtils.ConnectionFactoryUtils", - "return": "void", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring/docs/4.3.9.RELEASE/javadoc-api/org/springframework/jca/cci/connection/ConnectionFactoryUtils.html", - "cwe": [], - "type": [], - "comment": "Counter example for authentication (init)" -}, -{ - "name": "org.springframework.web.context.request.RequestContextListener.requestInitialized", - "return": "void", - "parameters": ["javax.servlet.ServletRequestEvent"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/context/request/RequestContextListener.html", - "cwe": [], - "type": [], - "comment": "Counter example for source" -}, -{ - "name": "org.springframework.security.authentication.UsernamePasswordAuthenticationToken.setAuthenticated", - "return": "void", - "parameters": ["boolean"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "spring", - "link": "http://docs.spring.io/autorepo/docs/spring-security/3.2.9.RELEASE/apidocs/org/springframework/security/authentication/UsernamePasswordAuthenticationToken.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "When the input is true, the tocken should be trusted. So the security level depentd on this fact." -}, -{ - "name": "org.apache.shiro.subject.support.DelegatingSubject.logout", - "return": "void", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "low", - "discovery": "manual", - "framework": "apache", - "link": "https://shiro.apache.org/static/1.2.1/apidocs/org/apache/shiro/subject/support/DelegatingSubject.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "Logout" -}, -{ - "name": "org.apache.xmlrpc.webserver.XmlRpcServlet.log", - "return": "void", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/webserver/XmlRpcServlet.html", - "cwe": [], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.apache.stratos.cli.StratosApplication.run", - "return": "int", - "parameters": ["java.lang.String[]"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://github.com/apache/stratos/blob/master/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/StratosApplication.java", - "cwe": ["cwe078"], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "com.mitchellbosecke.pebble.utils.PathUtils.sanitize", - "return": "java.lang.String", - "parameters": ["java.lang.String","char"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "pebble", - "link": "https://github.com/PebbleTemplates/pebble/blob/master/src/main/java/com/mitchellbosecke/pebble/utils/PathUtils.java", - "cwe": ["cwe078","cwe079","cwe089", "cwe601"], - "type": ["sanitizer"], - "comment": "" -}, -{ - "name": "org.owasp.webgoat.session.ParameterParser.update", - "return": "void", - "parameters": ["javax.servlet.ServletRequest"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "webgoat", - "link": "https://github.com/sonatype/WebGoat/blob/master/src/main/java/org/owasp/webgoat/session/ParameterParser.java", - "cwe": ["cwe079"], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.springframework.security.config.annotation.web.configurers.UrlAuthorizationConfigurer.hasAnyRole", - "return": "java.lang.String[]", - "parameters": ["java.lang.String[]"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-security/site/docs/current/apidocs/org/springframework/security/config/annotation/web/configurers/UrlAuthorizationConfigurer.html", - "cwe": [], - "type": [], - "comment": "Counter example for sanitizer (has)" -}, -{ - "name": "org.apache.commons.lang3.text.StrSubstitutor.replace", - "return": "java.lang.String", - "parameters": ["java.lang.CharSequence"], - "dataIn": { - "return": false, - "parameters": [0,1] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://commons.apache.org/proper/commons-lang/javadocs/api-3.1/org/apache/commons/lang3/text/StrSubstitutor.html", - "cwe": ["cwe078","cwe079","cwe089", "cwe601"], - "type": ["sink","sanitizer"], - "comment": "" -}, -{ - "name": "org.apache.commons.httpclient.auth.HttpAuthenticator.authenticateProxyDefault", - "return": "boolean", - "parameters": ["org.apache.commons.httpclient.HttpMethod","org.apache.commons.httpclient.HttpConnection","org.apache.commons.httpclient.HttpState"], - "dataIn": { - "return": false, - "parameters": [2,0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "apache", - "link": "https://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/auth/HttpAuthenticator.html", - "cwe": ["cwe862","cwe306"], - "type": ["authentication"], - "comment": "Depricated method. The credentials are provided in the HttpState. The authentication is added to the header of the HttpMethod." -}, -{ - "name": "org.apache.http.impl.auth.SPNegoScheme.authenticate", - "return": "org.apache.http.Header", - "parameters": ["org.apache.http.auth.Credentials","org.apache.http.HttpRequest","org.apache.http.protocol.HttpContext"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "apache", - "link": "https://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/impl/auth/SPNegoScheme.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "The authentication string is calculated from the credentials and returned as a header." -}, -{ - "name": "org.springframework.mock.web.MockHttpServletRequest.authenticate", - "return": "boolean", - "parameters": ["javax.servlet.http.HttpServletResponse"], - "dataIn": { - "return": false, - "parameters": [0,0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring/docs/4.3.9.RELEASE/javadoc-api/org/springframework/mock/web/MockHttpServletRequest.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "The authentication is added to the response." -}, -{ - "name": "org.springframework.web.socket.client.standard.EndpointConnectionManager.isConnected", - "return": "boolean", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "", - "cwe": ["cwe306"], - "type": ["authentication"], - "comment": "Returnes whether the program is connected." -}, -{ - "name": "java.io.File.getCanonicalFile", - "return": "java.io.File", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "generaljava", - "link": "https://docs.oracle.com/javase/7/docs/api/java/io/File.html", - "cwe": [], - "type": ["source"], - "comment": "Source training set" -}, -{ - "name": "javax.security.auth.login.LoginContext.login", - "return": "void", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "generaljava", - "link": "https://docs.oracle.com/javase/7/docs/api/javax/security/auth/login/LoginContext.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "Login" -}, -{ - "name": "org.apache.xmlrpc.webserver.XmlRpcServletServer.execute", - "return": "void", - "parameters": ["javax.servlet.http.HttpServletRequest","javax.servlet.http.HttpServletResponse"], - "dataIn": { - "return": false, - "parameters": [0,1] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/webserver/XmlRpcServletServer.html", - "cwe": ["cwe078", "cwe079"], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter.createTopicConnection", - "return": "javax.jms.TopicConnection", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "spring", - "cwe": ["cwe863","cwe862","cwe306"], - "link": "https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/jms/connection/UserCredentialsConnectionFactoryAdapter.html", - "type": ["authentication"], - "comment": "" -}, -{ - "name": "org.springframework.security.authentication.rcp.RemoteAuthenticationProvider.authenticate", - "return": "org.springframework.security.core.Authentication", - "parameters": ["org.springframework.security.core.Authentication"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "spring", - "link": "http://docs.spring.io/autorepo/docs/spring-security/3.1.8.CI-SNAPSHOT/apidocs/org/springframework/security/authentication/rcp/RemoteAuthenticationProvider.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "The input object is authenticated and returned." -}, -{ - "name": "org.apache.xmlrpc.webserver.ServletOutputStreamImpl.write", - "return": "void", - "parameters": ["byte[]","int","int"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "http://grepcode.com/file/repo1.maven.org/maven2/org.apache.xmlrpc/xmlrpc-server/3.1/org/apache/xmlrpc/webserver/ServletOutputStreamImpl.java", - "cwe": ["cwe079"], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.apache.commons.httpclient.auth.NTLMScheme.authenticate", - "return": "java.lang.String", - "parameters": ["org.apache.commons.httpclient.Credentials","org.apache.commons.httpclient.HttpMethod"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "apache", - "link": "https://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/auth/NTLMScheme.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "Depricated method. The credentials are provided. The authentication string is returned." -}, -{ - "name": "org.apache.xmlrpc.webserver.ConnectionServer.writeResponse", - "return": "void", - "parameters": ["org.apache.xmlrpc.common.XmlRpcStreamRequestConfig","java.io.OutputStream","java.lang.Object"], - "dataIn": { - "return": false, - "parameters": [1] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "", - "cwe": [], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.apache.xmlrpc.webserver.Connection.writeResponseHeader", - "return": "void", - "parameters": ["org.apache.xmlrpc.webserver.RequestData","int"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/webserver/Connection.html", - "cwe": ["cwe079"], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.apache.commons.jxpath.ri.JXPathContextReferenceImpl.getValue", - "return": "java.lang.Object", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://commons.apache.org/proper/commons-jxpath/apidocs/org/apache/commons/jxpath/ri/JXPathContextReferenceImpl.html", - "cwe": [], - "type": ["source"], - "comment": "Source training set" -}, -{ - "name": "org.apache.xmlrpc.webserver.RequestData.getMethod", - "return": "java.lang.String", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/webserver/RequestData.html", - "cwe": [], - "type": ["source"], - "comment": "Counter example for sanitizer." -}, -{ - "name": "net.sourceforge.pebble.index.EmailSubscriptionList.writeIndex", - "return": "void", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "pebble", - "link": "", - "cwe": [], - "type": [], - "comment": "Counter example for sink" -}, -{ - "name": "org.apache.axiom.om.impl.SwitchingWrapper.updateLastNode", - "return": "void", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "http://grepcode.com/file/repo1.maven.org/maven2/org.apache.ws.commons.axiom/axiom-api/1.2.12/org/apache/axiom/om/impl/SwitchingWrapper.java", - "cwe": [], - "type": [], - "comment": "Counter example for sink" -}, -{ - "name": "org.apache.bcel.util.JavaWrapper.runMain", - "return": "void", - "parameters": ["java.lang.String","java.lang.String[]"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://commons.apache.org/proper/commons-bcel/apidocs/org/apache/bcel/util/JavaWrapper.html", - "cwe": ["cwe078"], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.springframework.format.datetime.joda.PeriodFormatter.parse", - "return": "java.lang.Object", - "parameters": ["java.lang.String","java.util.Locale"], - "dataIn": { - "return": false, - "parameters": [1] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://github.com/cyejing/spring-framework-yj/blob/master/spring-context/src/main/java/org/springframework/format/datetime/joda/PeriodFormatter.java", - "cwe": [], - "type": ["sink"], - "comment": "Counter example for sources." -}, -{ - "name": "com.google.auth.oauth2.DefaultCredentialsProvider.getDefaultCredentials", - "return": "com.google.auth.oauth2.GoogleCredentials", - "parameters": ["com.google.api.client.http.HttpTransport"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "oauth", - "link": "https://github.com/google/google-auth-library-java/blob/master/oauth2_http/java/com/google/auth/oauth2/DefaultCredentialsProvider.java", - "cwe": ["cwe862"], - "type": ["source"], - "comment": "Source training set" -}, -{ - "name": "net.sourceforge.pebble.util.SecurityUtils.runAsUnauthenticated", - "return": "void", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "low", - "discovery": "manual", - "framework": "pebble", - "link": "http://help.collab.net/topic/iaf-700/pebble-soap-javadocs/net/sourceforge/pebble/util/SecurityUtils.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "Puts the state of the program to unauthenticated." -}, -{ - "name": "org.apache.commons.httpclient.HttpMethodDirector.authenticateProxy", - "return": "void", - "parameters": ["org.apache.commons.httpclient.HttpMethod"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "apachecommons", - "link": "https://hc.apache.org/httpclient-3.x/xref/org/apache/commons/httpclient/HttpMethodDirector.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "The authentication string is added to the http method." -}, -{ - "name": "org.springframework.web.filter.RequestContextFilter.setThreadContextInheritable", - "return": "void", - "parameters": ["boolean"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://static.javadoc.io/org.springframework/spring/2.0.3/org/springframework/web/filter/RequestContextFilter.html", - "cwe": [], - "type": [], - "comment": "Counter example for source" -}, -{ - "name": "org.apache.axiom.om.impl.SwitchingWrapper.updateCompleteStatus", - "return": "void", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "http://grepcode.com/file/repo1.maven.org/maven2/org.apache.ws.commons.axiom/axiom-api/1.2.12/org/apache/axiom/om/impl/SwitchingWrapper.java", - "cwe": [], - "type": [], - "comment": "Counter example for sink" -}, -{ - "name": "org.apache.xerces.impl.xs.models.XSDFACM.dumpTree", - "return": "void", - "parameters": ["org.apache.xerces.impl.dtd.models.CMNode","int"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "http://grepcode.com/file/repo1.maven.org/maven2/xerces/xerces/2.4.0/org/apache/xerces/impl/xs/models/XSDFACM.java?av=h", - "cwe": [], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.apache.http.impl.auth.NegotiateScheme.authenticate", - "return": "org.apache.http.Header", - "parameters": ["org.apache.http.auth.Credentials","org.apache.http.HttpRequest","org.apache.http.protocol.HttpContext"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "apache", - "link": "https://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/impl/auth/NegotiateScheme.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "Produces an authentication string for the given credentials." -}, -{ - "name": "org.apache.http.impl.auth.KerberosScheme.authenticate", - "return": "org.apache.http.Header", - "parameters": ["org.apache.http.auth.Credentials","org.apache.http.HttpRequest","org.apache.http.protocol.HttpContext"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "apache", - "link": "https://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/impl/auth/KerberosScheme.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "The authentication string is calculated from the credentials and returned as a header." -}, -{ - "name": "org.apache.shiro.mgt.DefaultSecurityManager.login", - "return": "org.apache.shiro.subject.Subject", - "parameters": ["org.apache.shiro.subject.Subject","org.apache.shiro.authc.AuthenticationToken"], - "dataIn": { - "return": false, - "parameters": [0,1] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "apache", - "link": "https://shiro.apache.org/static/1.2.6/apidocs/org/apache/shiro/mgt/DefaultSecurityManager.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "Login the specified subject with the tocken and return the subject." -}, -{ - "name": "org.springframework.jdbc.core.JdbcTemplate.query", - "return": "java.lang.Object", - "parameters": ["java.lang.String","org.springframework.jdbc.core.ResultSetExtractor"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/jdbc/core/JdbcTemplate.html", - "cwe": ["cwe089"], - "type": ["sink"], - "comment": "sql query" -}, -{ - "name": "org.springframework.security.config.annotation.web.configurers.UrlAuthorizationConfigurer.hasRole", - "return": "java.lang.String", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-security/site/docs/current/apidocs/org/springframework/security/config/annotation/web/configurers/UrlAuthorizationConfigurer.html", - "cwe": [], - "type": [], - "comment": "Counter example for sanitizer (has)" -}, -{ - "name": "org.owasp.webgoat.session.DatabaseUtilities.getHsqldbConnection", - "return": "java.sql.Connection", - "parameters": ["java.lang.String","org.owasp.webgoat.session.WebgoatContext"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "webgoat", - "link": "https://github.com/WebGoat/WebGoat-Legacy/blob/master/src/main/java/org/owasp/webgoat/session/DatabaseUtilities.java", - "cwe": ["cwe306","cwe089"], - "type": ["authentication","sink"], - "comment": "creates a database connection" -}, -{ - "name": "org.springframework.web.socket.sockjs.transport.handler.XhrStreamingTransportHandler.access$000", - "return": "byte[]", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "", - "cwe": [], - "type": [], - "comment": "Counter example for sanitizer (returns byte[], but implicit method)" -}, -{ - "name": "org.springframework.security.authentication.AnonymousAuthenticationProvider.authenticate", - "return": "org.springframework.security.core.Authentication", - "parameters": ["org.springframework.security.core.Authentication"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "spring", - "link": "http://docs.spring.io/autorepo/docs/spring-security/3.1.8.CI-SNAPSHOT/apidocs/org/springframework/security/authentication/AnonymousAuthenticationProvider.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "The input object is authenticated and returned." -}, -{ - "name": "org.springframework.security.authentication.jaas.SecurityContextLoginModule.logout", - "return": "boolean", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "low", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-security/site/docs/current/apidocs/org/springframework/security/authentication/jaas/SecurityContextLoginModule.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "Puts the program is an unauthenticated state." -}, -{ - "name": "org.apache.xmlrpc.webserver.WebServer.newThreadPool", - "return": "org.apache.xmlrpc.util.ThreadPool", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "", - "cwe": [], - "type": [], - "comment": "Counter example for source" -}, -{ - "name": "org.springframework.jdbc.core.JdbcTemplate.execute", - "return": "void", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/jdbc/core/JdbcTemplate.html", - "cwe": ["cwe089"], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.jsoup.nodes.Entities.unescape", - "return": "java.lang.String", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "jsoup", - "link": "https://jsoup.org/apidocs/org/jsoup/nodes/Entities.html", - "cwe": [], - "type": ["source"], - "comment": "Counter example for sanitizer (unescape)" -}, -{ - "name": "org.apache.shiro.subject.support.DelegatingSubject.login", - "return": "void", - "parameters": ["org.apache.shiro.authc.AuthenticationToken"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "apache", - "link": "https://shiro.apache.org/static/1.2.1/apidocs/org/apache/shiro/subject/support/DelegatingSubject.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "Login with the tocken." -}, -{ - "name": "org.springframework.mock.web.MockBodyContent.println", - "return": "void", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/mock/web/MockBodyContent.html", - "cwe": [], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.owasp.webgoat.HammerHead.log", - "return": "void", - "parameters": ["javax.servlet.http.HttpServletRequest","java.lang.String"], - "dataIn": { - "return": false, - "parameters": [1] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "webgoat", - "link": "https://github.com/OWASP/WebGoat/blob/master/webgoat/src/main/java/org/owasp/webgoat/HammerHead.java", - "cwe": ["cwe079"], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.apache.xmlrpc.server.XmlRpcServerWorker.execute", - "return": "java.lang.Object", - "parameters": ["org.apache.xmlrpc.XmlRpcRequest"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/server/XmlRpcServerWorker.html", - "cwe": ["cwe079", "cwe078"], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.apache.commons.httpclient.auth.BasicScheme.authenticate", - "return": "java.lang.String", - "parameters": ["org.apache.commons.httpclient.Credentials","java.lang.String","java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "apache", - "link": "https://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/auth/BasicScheme.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "When the input is true, the tocken should be trusted." -}, -{ - "name": "org.owasp.webgoat.session.WebSession.isAuthenticated", - "return": "boolean", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "webgoat", - "link": "https://github.com/OWASP/WebGoat/blob/master/webgoat/src/main/java/org/owasp/webgoat/session/WebSession.java", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "Puts the program is an unauthenticated state." -}, -{ - "name": "org.apache.xmlrpc.webserver.WebServer.run", - "return": "void", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/webserver/WebServer.html", - "cwe": [], - "type": [], - "comment": "Counter example for sink" -}, -{ - "name": "net.sourceforge.pebble.domain.Comment.isAuthenticated", - "return": "boolean", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "pebble", - "link": "http://help.collab.net/index.jsp?topic=/iaf-700/pebble-soap-javadocs/net/sourceforge/pebble/domain/Comment.html", - "cwe": ["cwe306"], - "type": ["authentication"], - "comment": "Returnes whether the program is authenticated." -}, -{ - "name": "org.springframework.util.DefaultPropertiesPersister.unescape", - "return": "java.lang.String", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/util/DefaultPropertiesPersister.html", - "cwe": [], - "type": ["source"], - "comment": "Counter example for sanitizer (unescape)" -}, -{ - "name": "org.owasp.webgoat.plugins.Plugin.loadFiles", - "return": "void", - "parameters": ["java.nio.file.Path"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "webgoat", - "link": "", - "cwe": [], - "type": ["source"], - "comment": "Source training set" -}, -{ - "name": "org.springframework.web.socket.server.standard.GlassFishRequestUpgradeStrategy.handleSuccess", - "return": "void", - "parameters": ["javax.servlet.http.HttpServletRequest","javax.servlet.http.HttpServletResponse","org.glassfish.tyrus.spi.WebSocketEngine$UpgradeInfo","org.glassfish.tyrus.core.TyrusUpgradeResponse"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/socket/server/standard/GlassFishRequestUpgradeStrategy.html", - "cwe": [], - "type": [], - "comment": "Counter example for sink" -}, -{ - "name": "org.owasp.esapi.reference.DefaultEncoder.encodeForBase64", - "return": "java.lang.String", - "parameters": ["byte[]","boolean"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "owaspesapi", - "link": "https://static.javadoc.io/org.owasp.esapi/esapi/2.0.1/org/owasp/esapi/Encoder.html", - "cwe": ["cwe078","cwe079","cwe089", "cwe601"], - "type": ["sanitizer"], - "comment": "" -}, -{ - "name": "org.springframework.jca.work.DelegatingWork.run", - "return": "void", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/jca/work/DelegatingWork.html", - "cwe": [], - "type": [], - "comment": "Counter example for sink" -}, -{ - "name": "org.springframework.security.config.annotation.web.messaging.MessageSecurityMetadataSourceRegistry.hasAuthority", - "return": "java.lang.String", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-security/site/docs/current/apidocs/org/springframework/security/config/annotation/web/messaging/MessageSecurityMetadataSourceRegistry.html", - "cwe": [], - "type": [], - "comment": "Counter example for sanitizer (has)" -}, -{ - "name": "org.owasp.esapi.reference.validation.HTMLValidationRule.sanitize", - "return": "java.lang.String", - "parameters": ["java.lang.String","java.lang.String"], - "dataIn": { - "return": false, - "parameters": [1] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "owaspesapi", - "link": "https://static.javadoc.io/org.owasp.esapi/esapi/2.0.1/org/owasp/esapi/reference/validation/CreditCardValidationRule.html", - "cwe": ["cwe079", "cwe601"], - "type": ["sanitizer"], - "comment": "" -}, -{ - "name": "org.owasp.webgoat.session.LessonSession.setAuthenticated", - "return": "void", - "parameters": ["boolean"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "webgoat", - "link": "https://github.com/sonatype/WebGoat/blob/master/src/main/java/org/owasp/webgoat/session/LessonSession.java", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication","sink"], - "comment": "When the input is true, the tocken should be trusted." -}, -{ - "name": "org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder.ldapAuthentication", - "return": "org.springframework.security.config.'annotation'.authentication.configurers.ldap.LdapAuthenticationProviderConfigurer", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-security/site/docs/4.0.0.RELEASE/apidocs/org/springframework/security/config/annotation/authentication/builders/AuthenticationManagerBuilder.html", - "cwe": ["cwe306"], - "type": ["authentication"], - "comment": "Authentication to LDAP. The owner of the return object can manipulate users to a LDAP connection." -}, -{ - "name": "org.apache.shiro.subject.support.DelegatingSubject.isAuthenticated", - "return": "boolean", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://shiro.apache.org/static/1.2.1/apidocs/org/apache/shiro/subject/support/DelegatingSubject.html", - "cwe": ["cwe306"], - "type": ["authentication"], - "comment": "Check if the program is authenticated." -}, -{ - "name": "org.apache.commons.httpclient.auth.DigestScheme.authenticate", - "return": "java.lang.String", - "parameters": ["org.apache.commons.httpclient.Credentials","java.lang.String","java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "apache", - "link": "https://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/impl/auth/DigestScheme.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "When the input is true, the tocken should be trusted." -}, -{ - "name": "org.apache.xmlrpc.webserver.HttpServletResponseImpl.getHeader", - "return": "java.lang.String", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/webserver/HttpServletResponseImpl.html", - "cwe": ["cwe079", "cwe601"], - "type": ["source"], - "comment": "Counter example for sanitizer." -}, -{ - "name": "com.google.auth.oauth2.UserAuthorizer.getCredentialsFromCode", - "return": "com.google.auth.oauth2.UserCredentials", - "parameters": ["java.lang.String","java.net.URI"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "oauth", - "link": "http://google.github.io/google-auth-library-java/releases/0.7.1/apidocs/com/google/auth/oauth2/UserAuthorizer.html", - "cwe": [], - "type": ["source"], - "comment": "Source training set" -}, -{ - "name": "org.springframework.orm.hibernate3.support.ClobStringType.sqlTypes", - "return": "int[]", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/orm/hibernate3/support/ClobStringType.html", - "cwe": ["cwe089"], - "type": ["sink"], - "comment": "depricated method. " -}, -{ - "name": "org.springframework.security.crypto.codec.Hex.encode", - "return": "char[]", - "parameters": ["byte[]"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-security/site/docs/3.2.2.RELEASE/apidocs/org/springframework/security/crypto/codec/Hex.html", - "cwe": ["cwe079", "cwe601"], - "type": ["sanitizer"], - "comment": "" -}, -{ - "name": "org.springframework.security.authentication.jaas.JaasAuthenticationProvider.authenticate", - "return": "org.springframework.security.core.Authentication", - "parameters": ["org.springframework.security.core.Authentication"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "spring", - "link": "http://docs.spring.io/autorepo/docs/spring-security/3.1.8.CI-SNAPSHOT/apidocs/org/springframework/security/authentication/jaas/JaasAuthenticationProvider.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "The input object is authenticated and returned." -}, -{ - "name": "org.apache.http.impl.auth.BasicScheme.authenticate", - "return": "org.apache.http.Header", - "parameters": ["org.apache.http.auth.Credentials","java.lang.String","boolean"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "apache", - "link": "https://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/impl/auth/BasicScheme.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "When the input is true, the tocken should be trusted." -}, -{ - "name": "org.dmfs.oauth2.client.http.requests.ResourceOwnerPasswordTokenRequest.requestEntity", - "return": "org.dmfs.httpclient.HttpRequestEntity", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "oauth", - "link": "", - "cwe": ["cwe862", "cwe306"], - "type": ["source"], - "comment": "Source training set" -}, -{ - "name": "org.apache.http.impl.auth.BasicScheme.authenticate", - "return": "org.apache.http.Header", - "parameters": ["org.apache.http.auth.Credentials","org.apache.http.HttpRequest"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "apache", - "link": "https://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/impl/auth/BasicScheme.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "When the input is true, the tocken should be trusted." -}, -{ - "name": "org.springframework.test.context.MergedContextConfiguration.nullSafeToString", - "return": "java.lang.String", - "parameters": ["org.springframework.test.context.ContextLoader"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/test/context/MergedContextConfiguration.html", - "cwe": [], - "type": [], - "comment": "Counter example for sanitizer" -}, -{ - "name": "org.springframework.jdbc.object.RdbmsOperation.setQueryTimeout", - "return": "void", - "parameters": ["int"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/jdbc/object/RdbmsOperation.html", - "cwe": [], - "type": [], - "comment": "Counter example for cwe089" -}, - - - -{ - "name": "org.owasp.webgoat.util.HtmlEncoder.decode", - "return": "java.lang.String", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "webgoat", - "link": "https://github.com/OWASP/WebGoat/blob/master/webgoat/src/main/java/org/owasp/webgoat/util/HtmlEncoder.java", - "cwe": ["cwe079"], - "type": ["source"], - "comment": "Source training set" -}, -{ - "name": "org.owasp.webgoat.session.WebSession.update", - "return": "void", - "parameters": ["javax.servlet.http.HttpServletRequest","javax.servlet.http.HttpServletResponse","java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0,1] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "webgoat", - "link": "", - "cwe": ["cwe079"], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.hibernate.validator.internal.util.ConcurrentReferenceHashMap.replace", - "return": "boolean", - "parameters": ["java.lang.Object","java.lang.Object","java.lang.Object"], - "dataIn": { - "return": false, - "parameters": [0,1,2,0,1,2] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "hibernate", - "link": "https://github.com/hibernate/hibernate-validator/blob/master/engine/src/main/java/org/hibernate/validator/internal/util/ConcurrentReferenceHashMap.java", - "cwe": [], - "type": ["sink"], - "comment": "Counter example for sanitizer" -}, -{ - "name": "org.owasp.esapi.tags.ELEncodeFunctions.encodeForCSS", - "return": "java.lang.String", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "owaspesapi", - "link": "https://static.javadoc.io/org.owasp.esapi/esapi/2.0.1/org/owasp/esapi/Encoder.html", - "cwe": ["cwe079"], - "type": ["sanitizer"], - "comment": "" -}, -{ - "name": "org.apache.xmlrpc.webserver.WebServer.setParanoid", - "return": "void", - "parameters": ["boolean"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/webserver/WebServer.html", - "cwe": [], - "type": ["sink"], - "comment": "Counter example for sanitizer (set)" -}, -{ - "name": "org.springframework.mock.web.MockBodyContent.println", - "return": "void", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/mock/web/MockBodyContent.html", - "cwe": [], - "type": [], - "comment": "Counter example for sink" -}, -{ - "name": "javax.naming.ldap.Rdn.unescapeValue", - "return": "java.lang.Object", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "ldap", - "link": "", - "cwe": [], - "type": ["source"], - "comment": "Source training set" -}, -{ - "name": "com.novell.ldap.rfc2251.RfcFilter.addSubstring", - "return": "void", - "parameters": ["int","byte[]"], - "dataIn": { - "return": false, - "parameters": [1,1] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "ldap", - "link": "", - "cwe": [], - "type": ["sink"], - "comment": "Counter example for sanitizer (byte[] but nothing else)" -}, -{ - "name": "org.springframework.web.socket.sockjs.transport.session.WebSocketServerSockJsSession.handleMessage", - "return": "void", - "parameters": ["org.springframework.web.socket.TextMessage","org.springframework.web.socket.WebSocketSession"], - "dataIn": { - "return": false, - "parameters": [0,1] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring/docs/4.3.9.RELEASE/javadoc-api/org/springframework/web/socket/sockjs/transport/session/WebSocketServerSockJsSession.html", - "cwe": ["cwe079"], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.springframework.security.access.intercept.RunAsImplAuthenticationProvider.authenticate", - "return": "org.springframework.security.core.Authentication", - "parameters": ["org.springframework.security.core.Authentication"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-security/site/docs/current/apidocs/org/springframework/security/access/intercept/RunAsImplAuthenticationProvider.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "The input object is authenticated and returned." -}, -{ - "name": "javax.mail.internet.MimeMultipart.stripLinearWhiteSpace", - "return": "byte[]", - "parameters": ["byte[]"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "generaljava", - "link": "http://docs.oracle.com/javaee/7/api/javax/mail/internet/MimeMultipart.html", - "cwe": [], - "type": [], - "comment": "" -}, -{ - "name": "org.apache.xmlrpc.webserver.WebServer.class$", - "return": "java.lang.Class", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/webserver/WebServer.html", - "cwe": [], - "type": [], - "comment": "Counter example for sanitizer (String as param, but implicit method)" -}, -{ - "name": "com.novell.ldap.spml.SunIdm.logout", - "return": "void", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "low", - "discovery": "manual", - "framework": "ldap", - "link": "https://github.com/aptivate/openldap-jldap/blob/master/com/novell/ldap/spml/SunIdm.java", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "Puts the program is an unauthenticated state." -}, -{ - "name": "org.apache.xmlrpc.webserver.XmlRpcServletServer.getConfig", - "return": "org.apache.xmlrpc.common.XmlRpcHttpRequestConfigImpl", - "parameters": ["javax.servlet.http.HttpServletRequest"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/webserver/XmlRpcServletServer.html", - "cwe": [], - "type": ["source"], - "comment": "Counter example for sanitizer." -}, -{ - "name": "org.springframework.web.socket.adapter.jetty.JettyWebSocketSession.isOpen", - "return": "boolean", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/socket/adapter/jetty/JettyWebSocketSession.html", - "cwe": [], - "type": [], - "comment": "Counter example for authentication (none)" -}, -{ - "name": "org.xmldb.api.base.XMLDBException.printStackTrace", - "return": "void", - "parameters": ["java.io.PrintWriter"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "generalJava", - "link": "http://xmldb-org.sourceforge.net/xapi/api/org/xmldb/api/base/XMLDBException.html", - "cwe": [], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.apache.commons.httpclient.auth.HttpAuthenticator.authenticateProxy", - "return": "boolean", - "parameters": ["org.apache.commons.httpclient.auth.AuthScheme","org.apache.commons.httpclient.HttpMethod","org.apache.commons.httpclient.HttpConnection","org.apache.commons.httpclient.HttpState"], - "dataIn": { - "return": false, - "parameters": [3,1] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "apache", - "link": "https://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/auth/HttpAuthenticator.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "Depricated method. The credentials are provided in the HttpState. The authentication is added to the header of the HttpMethod." -}, -{ - "name": "org.springframework.security.config.annotation.SecurityConfigurerAdapter.and", - "return": "org.springframework.security.config.'annotation'.SecurityBuilder", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-security/site/docs/current/apidocs/org/springframework/security/config/annotation/SecurityConfigurerAdapter.html", - "cwe": [], - "type": [], - "comment": "Counter example for authentication (none)" -}, -{ - "name": "org.springframework.web.context.request.RequestContextListener.requestDestroyed", - "return": "void", - "parameters": ["javax.servlet.ServletRequestEvent"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/context/request/RequestContextListener.html", - "cwe": [], - "type": [], - "comment": "Counter example for source" -}, -{ - "name": "org.owasp.esapi.reference.validation.CreditCardValidationRule.sanitize", - "return": "java.lang.Object", - "parameters": ["java.lang.String","java.lang.String"], - "dataIn": { - "return": false, - "parameters": [1] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "owaspesapi", - "link": "https://static.javadoc.io/org.owasp.esapi/esapi/2.0.1/org/owasp/esapi/reference/validation/CreditCardValidationRule.html", - "cwe": ["cwe078","cwe079","cwe089"], - "type": ["sanitizer"], - "comment": "" -}, -{ - "name": "org.springframework.web.client.AsyncRestTemplate.logResponseStatus", - "return": "void", - "parameters": ["org.springframework.http.HttpMethod","java.net.URI","org.springframework.http.client.ClientHttpResponse"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/client/AsyncRestTemplate.html", - "cwe": [], - "type": [], - "comment": "Counter example for sink" -}, -{ - "name": "org.springframework.security.config.SecurityNamespaceHandler.SecurityNamespaceHandler", - "return": "void", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-security/site/docs/current/apidocs/org/springframework/security/config/SecurityNamespaceHandler.html", - "cwe": [], - "type": [], - "comment": "Counter example for authentication (init)" -}, -{ - "name": "org.springframework.web.socket.adapter.standard.StandardWebSocketSession.sendTextMessage", - "return": "void", - "parameters": ["org.springframework.web.socket.TextMessage"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://github.com/spring-projects/spring-framework/blob/master/spring-websocket/src/main/java/org/springframework/web/socket/adapter/standard/StandardWebSocketSession.java", - "cwe": [], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.apache.xmlrpc.webserver.HttpServletRequestImpl.parsePostData", - "return": "void", - "parameters": ["java.util.Map","java.io.InputStream","java.lang.String"], - "dataIn": { - "return": false, - "parameters": [1,0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/webserver/HttpServletRequestImpl.html", - "cwe": [], - "type": ["source"], - "comment": "Source training set" -}, -{ - "name": "org.apache.xerces.impl.xpath.regex.REUtil.dumpString", - "return": "void", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "http://grepcode.com/file/repo1.maven.org/maven2/xerces/xercesImpl/2.6.2/org/apache/xerces/impl/xpath/regex/REUtil.java", - "cwe": [], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.apache.xmlrpc.webserver.ServletConnection.run", - "return": "void", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/webserver/ServletConnection.html", - "cwe": [], - "type": [], - "comment": "Counter example for sink" -}, -{ - "name": "org.springframework.security.concurrent.DelegatingSecurityContextExecutorService.getDelegate", - "return": "java.util.concurrent.ExecutorService", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-security/site/docs/current/apidocs/org/springframework/security/concurrent/DelegatingSecurityContextExecutorService.html", - "cwe": [], - "type": ["source"], - "comment": "Counter example for authentication (none)" -}, -{ - "name": "org.apache.http.impl.auth.NegotiateScheme.authenticate", - "return": "org.apache.http.Header", - "parameters": ["org.apache.http.auth.Credentials","org.apache.http.HttpRequest"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "apache", - "link": "https://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/impl/auth/NegotiateScheme.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "Produces an authentication string for the given credentials." -}, -{ - "name": "org.springframework.security.core.userdetails.User.isCredentialsNonExpired", - "return": "boolean", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-security/site/docs/current/apidocs/org/springframework/security/core/userdetails/User.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "Returnes whether the program is authenticated." -}, -{ - "name": "org.apache.xalan.xsltc.compiler.util.Util.replace", - "return": "java.lang.String", - "parameters": ["java.lang.String","java.lang.String","java.lang.String[]"], - "dataIn": { - "return": false, - "parameters": [0,1,2] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://xml.apache.org/xalan-j/apidocs/org/apache/xalan/xsltc/compiler/util/Util.html", - "cwe": ["cwe078","cwe079","cwe306","cwe089", "cwe601"], - "type": ["sink","sanitizer"], - "comment": "" -}, -{ - "name": "org.springframework.security.config.annotation.web.builders.HttpSecurity.headers", - "return": "org.springframework.security.config.'annotation'.web.configurers.HeadersConfigurer", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-security/site/docs/current/apidocs/org/springframework/security/config/annotation/web/builders/HttpSecurity.html", - "cwe": ["cwe079"], - "type": ["source"], - "comment": "Counter example for authentication (none)" -}, -{ - "name": "org.springframework.security.config.annotation.web.configurers.ExpressionUrlAuthorizationConfigurer.access$200", - "return": "java.lang.String", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-security/site/docs/current/apidocs/org/springframework/security/config/annotation/web/configurers/ExpressionUrlAuthorizationConfigurer.AuthorizedUrl.html", - "cwe": [], - "type": [], - "comment": "Counter example for sanitizer (implicit method)" -}, -{ - "name": "org.xmldb.api.DatabaseManager.stripURIPrefix", - "return": "java.lang.String", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "xmldb", - "link": "http://xmldb-org.sourceforge.net/xapi/api/org/xmldb/api/DatabaseManager.html", - "cwe": ["cwe306","cwe089", "cwe601"], - "type": ["sanitizer"], - "comment": "" -}, -{ - "name": "org.owasp.webgoat.service.LessonInfoService.handleException", - "return": "java.lang.String", - "parameters": ["java.lang.Exception"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "webgoat", - "link": "https://github.com/sanketsahoo25/webgoat/blob/master/webgoat-container/src/main/java/org/owasp/webgoat/service/LessonInfoService.java", - "cwe": [], - "type": [], - "comment": "Counter example for sink" -}, -{ - "name": "org.apache.commons.httpclient.auth.DigestScheme.authenticate", - "return": "java.lang.String", - "parameters": ["org.apache.commons.httpclient.Credentials","org.apache.commons.httpclient.HttpMethod"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "apache", - "link": "https://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/impl/auth/DigestScheme.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "When the input is true, the tocken should be trusted." -}, -{ - "name": "org.owasp.esapi.reference.validation.DateValidationRule.sanitize", - "return": "java.lang.Object", - "parameters": ["java.lang.String","java.lang.String"], - "dataIn": { - "return": false, - "parameters": [1] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "owaspesapi", - "link": "https://static.javadoc.io/org.owasp.esapi/esapi/2.0.1/org/owasp/esapi/reference/validation/", - "cwe": ["cwe078","cwe079","cwe089"], - "type": ["sanitizer"], - "comment": "" -}, -{ - "name": "org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder.jdbcAuthentication", - "return": "org.springframework.security.config.'annotation'.authentication.configurers.provisioning.JdbcUserDetailsManagerConfigurer", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-security/site/docs/4.0.0.RELEASE/apidocs/org/springframework/security/config/annotation/authentication/builders/AuthenticationManagerBuilder.html", - "cwe": ["cwe306"], - "type": ["authentication"], - "comment": "Authentication to JDBC. The owner of the return object can manipulate users to a JDBC connection." -}, -{ - "name": "org.apache.shiro.subject.support.DefaultSubjectContext.isAuthenticated", - "return": "boolean", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://shiro.apache.org/static/1.2.1/apidocs/org/apache/shiro/subject/support/DefaultSubjectContext.html", - "cwe": ["cwe306"], - "type": ["authentication"], - "comment": "Check if the program is authenticated." -}, -{ - "name": "org.apache.http.impl.conn.DefaultClientConnection.sendRequestHeader", - "return": "void", - "parameters": ["org.apache.http.HttpRequest"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/impl/conn/DefaultClientConnection.html", - "cwe": ["cwe601"], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.apache.xmlrpc.webserver.HttpServletRequestImpl.access$000", - "return": "int", - "parameters": ["org.apache.xmlrpc.webserver.HttpServletRequestImpl"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/webserver/HttpServletRequestImpl.html", - "cwe": [], - "type": [], - "comment": "Counter example for sanitizer (implicit method)" -}, -{ - "name": "org.springframework.web.servlet.tags.EscapeBodyTag.readBodyContent", - "return": "java.lang.String", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-framework/docs/2.5.x/api/org/springframework/web/servlet/tags/EscapeBodyTag.html", - "cwe": ["cwe601"], - "type": ["source"], - "comment": "Source training set" -}, -{ - "name": "org.springframework.web.util.UrlPathHelper.decodeRequestString", - "return": "java.lang.String", - "parameters": ["javax.servlet.http.HttpServletRequest","java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring/docs/3.2.2.RELEASE_to_4.0.0.M1/Spring%20Framework%203.2.2.RELEASE/org/springframework/web/util/UrlPathHelper.html", - "cwe": ["cwe079", "cwe601"], - "type": ["source"], - "comment": "Source training set" -}, -{ - "name": "org.apache.commons.validator.util.ValidatorUtils.replace", - "return": "java.lang.String", - "parameters": ["java.lang.String","java.lang.String","java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0,1,2] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://commons.apache.org/proper/commons-validator/apidocs/org/apache/commons/validator/util/ValidatorUtils.html", - "cwe": ["cwe078","cwe079","cwe306","cwe089", "cwe601"], - "type": ["sink","sanitizer"], - "comment": "" -}, -{ - "name": "org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder.requestAttr", - "return": "org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder", - "parameters": ["java.lang.String","java.lang.Object"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/test/web/servlet/request/MockHttpServletRequestBuilder.html", - "cwe": ["cwe079", "cwe601"], - "type": ["source"], - "comment": "Source training set" -}, -{ - "name": "com.google.auth.oauth2.UserAuthorizer.getCredentials", - "return": "com.google.auth.oauth2.UserCredentials", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "oauth", - "link": "https://github.com/google/google-auth-library-java/blob/master/oauth2_http/java/com/google/auth/oauth2/UserAuthorizer.java", - "cwe": ["cwe862"], - "type": ["source"], - "comment": "Source training set" -}, -{ - "name": "org.springframework.web.socket.sockjs.transport.handler.JsonpReceivingTransportHandler.readMessages", - "return": "java.lang.String[]", - "parameters": ["org.springframework.http.server.ServerHttpRequest"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/socket/sockjs/transport/handler/JsonpReceivingTransportHandler.html", - "cwe": ["cwe079"], - "type": ["source"], - "comment": "Source training set" -}, -{ - "name": "com.google.auth.oauth2.DefaultCredentialsProvider.getDefaultCredentialsUnsynchronized", - "return": "com.google.auth.oauth2.GoogleCredentials", - "parameters": ["com.google.api.client.http.HttpTransport"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "oauth", - "link": "https://github.com/google/google-auth-library-java/blob/master/oauth2_http/java/com/google/auth/oauth2/DefaultCredentialsProvider.java", - "cwe": ["cwe862"], - "type": ["source"], - "comment": "Source training set" -}, -{ - "name": "com.novell.ldap.LDAPConnection.disconnect", - "return": "void", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "low", - "discovery": "manual", - "framework": "ldap", - "link": "https://www.novell.com/documentation/developer/jldap/jldapenu/api/com/novell/ldap/LDAPConnection.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "Puts the program in a unauthenticated state." -}, -{ - "name": "org.springframework.expression.spel.ast.LongLiteral.isCompilable", - "return": "boolean", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/expression/spel/ast/LongLiteral.html", - "cwe": [], - "type": [], - "comment": "Counter example for authentication (none)" -}, -{ - "name": "org.springframework.security.config.annotation.web.builders.HttpSecurity.rememberMe", - "return": "org.springframework.security.config.'annotation'.web.configurers.RememberMeConfigurer", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-security/site/docs/current/apidocs/org/springframework/security/config/annotation/web/builders/HttpSecurity.html", - "cwe": [], - "type": [], - "comment": "Counter example for authentication (none)" -}, - -{ - "name": "org.owasp.html.Encoding.stripBannedCodeunits", - "return": "void", - "parameters": ["java.lang.StringBuilder"], - "dataIn": { - "return": false, - "parameters": [0,0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "generaljava", - "link": "https://github.com/OWASP/java-html-sanitizer/blob/master/src/main/java/org/owasp/html/Encoding.java", - "cwe": ["cwe078","cwe079","cwe306","cwe089", "cwe601"], - "type": ["sanitizer"], - "comment": "" -}, -{ - "name": "org.springframework.security.config.http.FormLoginBeanDefinitionParser.getLoginProcessingUrl", - "return": "java.lang.String", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-security/site/docs/current/apidocs/org/springframework/security/config/http/FormLoginBeanDefinitionParser.html", - "cwe": ["cwe863","cwe862","cwe306", "cwe601"], - "type": ["authentication","source"], - "comment": "" -}, -{ - "name": "com.google.json.JsonSanitizer.replace", - "return": "void", - "parameters": ["int","int","java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0,0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "json", - "link": "https://github.com/OWASP/json-sanitizer/blob/master/src/main/java/com/google/json/JsonSanitizer.java", - "cwe": ["cwe079"], - "type": ["sink","sanitizer"], - "comment": "" -}, -{ - "name": "org.apache.xmlrpc.webserver.HttpServletRequestImpl.readLine", - "return": "java.lang.String", - "parameters": ["byte[]"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/webserver/HttpServletRequestImpl.html", - "cwe": ["cwe089", "cwe078", "cwe601"], - "type": ["source"], - "comment": "Source training set" -}, -{ - "name": "org.owasp.esapi.reference.validation.StringValidationRule.addBlacklistPattern", - "return": "void", - "parameters": ["java.util.regex.Pattern"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "owaspesapi", - "link": "", - "cwe": [], - "type": ["sink"], - "comment": "Counter example for sanitizer (validation)" -}, -{ - "name": "org.springframework.web.socket.BinaryMessage.BinaryMessage", - "return": "void", - "parameters": ["byte[]"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/socket/BinaryMessage.html", - "cwe": [], - "type": [], - "comment": "Counter example for sanitizer (byte[] as param, but init)" -}, -{ - "name": "org.apache.commons.lang3.text.StrSubstitutor.replace", - "return": "java.lang.String", - "parameters": ["java.lang.CharSequence","int","int"], - "dataIn": { - "return": false, - "parameters": [0,1] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://commons.apache.org/proper/commons-lang/javadocs/api-3.1/org/apache/commons/lang3/text/StrSubstitutor.html", - "cwe": ["cwe078","cwe079","cwe306","cwe089", "cwe601"], - "type": ["sink","sanitizer"], - "comment": "" -}, -{ - "name": "java.lang.String.replace", - "return": "java.lang.String", - "parameters": ["java.lang.CharSequence","java.lang.CharSequence"], - "dataIn": { - "return": false, - "parameters": [0,1] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "generaljava", - "link": "https://docs.oracle.com/javase/7/docs/api/java/lang/String.html", - "cwe": ["cwe078","cwe079","cwe306","cwe089", "cwe601"], - "type": ["sink","sanitizer"], - "comment": "" -}, -{ - "name": "org.hibernate.validator.internal.util.ConcurrentReferenceHashMap.replace", - "return": "java.lang.Object", - "parameters": ["java.lang.Object","java.lang.Object"], - "dataIn": { - "return": false, - "parameters": [0,1,0,1] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "hibernate", - "link": "", - "cwe": [], - "type": ["sink"], - "comment": "Counter example for sanitizer" -}, -{ - "name": "org.apache.commons.httpclient.auth.NTLMScheme.authenticate", - "return": "java.lang.String", - "parameters": ["org.apache.commons.httpclient.Credentials","java.lang.String","java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "apache", - "link": "https://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/auth/NTLMScheme.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "Depricated method. The credentials are provided. The authentication string is returned." -}, -{ - "name": "com.novell.ldap.spml.NoAuthImpl.logout", - "return": "void", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "low", - "discovery": "manual", - "framework": "ldap", - "link": "https://docs.oracle.com/javase/7/docs/api/javax/security/auth/login/LoginContext.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "Puts the program is an unauthenticated state." -}, -{ - "name": "org.apache.axis2.util.Utils.sanitizeWebOutput", - "return": "java.lang.String", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "http://grepcode.com/file/repo1.maven.org/maven2/org.apache.axis2/axis2-kernel/1.4/org/apache/axis2/util/Utils.java", - "cwe": ["cwe079", "cwe601"], - "type": ["sanitizer"], - "comment": "" -}, -{ - "name": "org.apache.commons.httpclient.auth.HttpAuthenticator.authenticateDefault", - "return": "boolean", - "parameters": ["org.apache.commons.httpclient.HttpMethod","org.apache.commons.httpclient.HttpConnection","org.apache.commons.httpclient.HttpState"], - "dataIn": { - "return": false, - "parameters": [2,0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "apache", - "link": "https://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/auth/HttpAuthenticator.html", - "cwe": ["cwe862","cwe306"], - "type": ["authentication"], - "comment": "Depricated method. The credentials are provided in the HttpState. The authentication is added to the header of the HttpMethod." -}, -{ - "name": "org.springframework.security.core.authority.mapping.SimpleAttributes2GrantedAuthoritiesMapper.isConvertAttributeToUpperCase", - "return": "boolean", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-security/site/docs/current/apidocs/org/springframework/security/core/authority/mapping/SimpleAttributes2GrantedAuthoritiesMapper.html", - "cwe": [], - "type": [], - "comment": "Counter example for authentication (none)" -}, -{ - "name": "org.springframework.security.util.FieldUtils.setProtectedFieldValue", - "return": "void", - "parameters": ["java.lang.String","java.lang.Object","java.lang.Object"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://docs.spring.io/spring-security/site/docs/current/apidocs/org/springframework/security/util/FieldUtils.html", - "cwe": [], - "type": ["sink"], - "comment": "Counter example for sanitizer (set)" -}, -{ - "name": "org.owasp.html.HtmlSanitizer.stripQuotes", - "return": "java.lang.String", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "generaljava", - "link": "https://github.com/OWASP/java-html-sanitizer/blob/master/src/main/java/org/owasp/html/HtmlSanitizer.java", - "cwe": ["cwe079","cwe306"], - "type": ["sanitizer"], - "comment": "" -}, -{ - "name": "org.apache.commons.httpclient.HttpMethodDirector.authenticateHost", - "return": "void", - "parameters": ["org.apache.commons.httpclient.HttpMethod"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "apache", - "link": "https://hc.apache.org/httpclient-3.x/xref/org/apache/commons/httpclient/HttpMethodDirector.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "The authentication string is added to the http method." -}, -{ - "name": "org.springframework.mock.web.MockBodyContent.println", - "return": "void", - "parameters": ["char[]"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/mock/web/MockBodyContent.html", - "cwe": ["cwe079"], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.springframework.security.config.http.LogoutBeanDefinitionParser.getLogoutRequestMatcher", - "return": "org.springframework.beans.factory.config.BeanDefinition", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://github.com/spring-projects/spring-security/blob/master/config/src/main/java/org/springframework/security/config/http/LogoutBeanDefinitionParser.java", - "cwe": ["cwe863","cwe862","cwe306", "cwe601"], - "type": ["authentication","source"], - "comment": "" -}, -{ - "name": "org.springframework.security.crypto.codec.Utf8.encode", - "return": "byte[]", - "parameters": ["java.lang.CharSequence"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-security/site/docs/current/apidocs/org/springframework/security/crypto/codec/Utf8.html", - "cwe": ["cwe079", "cwe601"], - "type": ["sanitizer"], - "comment": "" -}, -{ - "name": "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild", - "return": "void", - "parameters": ["org.junit.runners.model.FrameworkMethod","org.junit.runner.notification.RunNotifier"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/test/context/junit4/SpringJUnit4ClassRunner.html", - "cwe": [], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.owasp.esapi.reference.validation.CreditCardValidationRule.setMaxCardLength", - "return": "void", - "parameters": ["int"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "owaspesapi", - "link": "https://static.javadoc.io/org.owasp.esapi/esapi/2.0.1/org/owasp/esapi/reference/validation/CreditCardValidationRule.html", - "cwe": [], - "type": [], - "comment": "Counter example for sanitizer (validation)" -}, -{ - "name": "org.springframework.web.socket.handler.ConcurrentWebSocketSessionDecorator.sendMessage", - "return": "void", - "parameters": ["org.springframework.web.socket.WebSocketMessage"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring/docs/4.3.9.RELEASE/javadoc-api/org/springframework/web/socket/handler/ConcurrentWebSocketSessionDecorator.html", - "cwe": [], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.springframework.web.socket.sockjs.transport.TransportHandlingSockJsService.access$200", - "return": "org.apache.commons.logging.Log", - "parameters": ["org.springframework.web.socket.sockjs.transport.TransportHandlingSockJsService"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "", - "cwe": [], - "type": [], - "comment": "Counter example for sanitizer (implicit method)" -}, -{ - "name": "org.springframework.orm.hibernate3.TypeDefinitionBean.setParameters", - "return": "void", - "parameters": ["java.util.Properties"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "", - "cwe": [], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.springframework.web.socket.server.standard.WebLogicRequestUpgradeStrategy.access$800", - "return": "java.lang.reflect.Method", - "parameters": ["java.lang.String","java.lang.String","java.lang.Class[]"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "", - "cwe": [], - "type": [], - "comment": "Counter example for sanitizer (implicit method)" -}, -{ - "name": "org.springframework.security.config.annotation.web.configurers.LogoutConfigurer.getLogoutHandlers", - "return": "java.util.List", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-security/site/docs/current/apidocs/org/springframework/security/config/annotation/web/configurers/LogoutConfigurer.html", - "cwe": ["cwe306"], - "type": ["authentication","source"], - "comment": "" -}, -{ - "name": "org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.closeConnection", - "return": "void", - "parameters": ["java.sql.Connection"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "low", - "discovery": "manual", - "framework": "spring", - "link": "https://static.javadoc.io/org.springframework/spring/2.0.4/org/springframework/orm/hibernate3/LocalDataSourceConnectionProvider.html", - "cwe": ["cwe863","cwe862","cwe306","cwe089"], - "type": ["authentication"], - "comment": "Puts the state of the program to unauthenticated." -}, -{ - "name": "org.springframework.mock.web.MockHttpServletRequest.logout", - "return": "void", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "low", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring/docs/4.3.9.RELEASE/javadoc-api/org/springframework/mock/web/MockHttpServletRequest.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "Puts the program is an unauthenticated state." -}, -{ - "name": "org.apache.http.impl.client.HttpAuthenticator.authenticate", - "return": "boolean", - "parameters": ["org.apache.http.HttpHost","org.apache.http.HttpResponse","org.apache.http.client.AuthenticationStrategy","org.apache.http.auth.AuthState","org.apache.http.protocol.HttpContext"], - "dataIn": { - "return": false, - "parameters": [0,1] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "apache", - "link": "https://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/impl/client/HttpAuthenticator.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "Depricated method. The authentication string is added to the http response." -}, -{ - "name": "org.springframework.web.util.OpaqueUriComponents.encode", - "return": "org.springframework.web.util.UriComponents", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring/docs/3.2.8.RELEASE_to_3.2.9.RELEASE/Spring%20Framework%203.2.8.RELEASE/org/springframework/web/util/OpaqueUriComponents.html", - "cwe": ["cwe079", "cwe601"], - "type": ["sanitizer"], - "comment": "" -}, -{ - "name": "net.sourceforge.pebble.index.AuthorIndex.writeIndex", - "return": "void", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "pebble", - "link": "", - "cwe": [], - "type": [], - "comment": "Counter example for sink" -}, -{ - "name": "org.apache.xmlrpc.webserver.XmlRpcServlet.class$", - "return": "java.lang.Class", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/webserver/XmlRpcServlet.html", - "cwe": [], - "type": [], - "comment": "Counter example for sanitizer (String as param, but implicit method)" -}, -{ - "name": "org.springframework.format.datetime.joda.DateTimeParser.parse", - "return": "org.joda.time.DateTime", - "parameters": ["java.lang.String","java.util.Locale"], - "dataIn": { - "return": false, - "parameters": [1] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring/docs/4.3.9.RELEASE/javadoc-api/org/springframework/format/datetime/joda/DateTimeParser.html", - "cwe": [], - "type": ["sink"], - "comment": "Counter example for sources." -}, -{ - "name": "org.springframework.beans.factory.support.DisposableBeanAdapter.writeReplace", - "return": "java.lang.Object", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-framework/docs/2.0.0/api/org/springframework/beans/factory/support/DisposableBeanAdapter.html", - "cwe": [], - "type": [], - "comment": "Counter example for sink" -}, -{ - "name": "org.springframework.security.crypto.codec.Base64.encodeBytesToBytes", - "return": "byte[]", - "parameters": ["byte[]","int","int","int"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/autorepo/docs/spring-security/3.2.1.RELEASE/apidocs/org/springframework/security/crypto/codec/Base64.html", - "cwe": ["cwe079", "cwe601"], - "type": ["sanitizer"], - "comment": "" -}, -{ - "name": "java.lang.String.replaceAll", - "return": "java.lang.String", - "parameters": ["java.lang.String","java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0,1] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "generaljava", - "link": "https://docs.oracle.com/javase/7/docs/api/java/lang/String.html", - "cwe": ["cwe078","cwe079","cwe306","cwe089", "cwe601"], - "type": ["sink","sanitizer"], - "comment": "" -}, -{ - "name": "org.springframework.security.config.annotation.web.messaging.MessageSecurityMetadataSourceRegistry.hasAnyAuthority", - "return": "java.lang.String", - "parameters": ["java.lang.String[]"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-security/site/docs/current/apidocs/org/springframework/security/config/annotation/web/messaging/MessageSecurityMetadataSourceRegistry.html", - "cwe": [], - "type": [], - "comment": "Counter example for sanitizer (has)" -}, -{ - "name": "org.apache.xmlrpc.webserver.RequestData.getHttpVersion", - "return": "java.lang.String", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/webserver/RequestData.html", - "cwe": ["cwe601"], - "type": ["source"], - "comment": "Counter example for sanitizer." -}, -{ - "name": "org.apache.commons.httpclient.HttpMethodDirector.authenticate", - "return": "void", - "parameters": ["org.apache.commons.httpclient.HttpMethod"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "apache", - "link": "https://hc.apache.org/httpclient-3.x/xref/org/apache/commons/httpclient/HttpMethodDirector.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "The authentication string is added to the http method." -}, -{ - "name": "org.dmfs.oauth2.client.BasicOAuth2ClientCredentials.authenticatedRequest", - "return": "org.dmfs.httpclient.HttpRequest", - "parameters": ["org.dmfs.httpclient.HttpRequest"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "oauth2essentials", - "link": "https://github.com/dmfs/oauth2-essentials/blob/master/src/main/java/org/dmfs/oauth2/client/BasicOAuth2ClientCredentials.java", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "Sends an authentication request." -}, -{ - "name": "javax.security.auth.login.LoginContext.logout", - "return": "void", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "low", - "discovery": "manual", - "framework": "generaljava", - "link": "https://docs.oracle.com/javase/7/docs/api/javax/security/auth/login/LoginContext.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "Puts the program is an unauthenticated state." -}, -{ - "name": "org.apache.shiro.mgt.DefaultSecurityManager.logout", - "return": "void", - "parameters": ["org.apache.shiro.subject.Subject"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "low", - "discovery": "manual", - "framework": "apache", - "link": "https://shiro.apache.org/static/1.2.6/apidocs/org/apache/shiro/mgt/DefaultSecurityManager.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "Logout the specified subject." -}, -{ - "name": "com.novell.ldap.rfc2251.RfcFilter.unescapeString", - "return": "byte[]", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "ldap", - "link": "", - "cwe": [], - "type": ["source"], - "comment": "Counter example for sanitizer (unescape)" -}, -{ - "name": "org.apache.commons.lang3.ObjectUtils.identityToString", - "return": "void", - "parameters": ["java.lang.StringBuilder","java.lang.Object"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "", - "cwe": [], - "type": [], - "comment": "Counter example for sanitizer" -}, -{ - "name": "org.apache.commons.io.HexDump.dump", - "return": "void", - "parameters": ["byte[]","long","java.io.OutputStream","int"], - "dataIn": { - "return": false, - "parameters": [0,2] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://commons.apache.org/proper/commons-io/javadocs/api-2.5/org/apache/commons/io/HexDump.html", - "cwe": [], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "org.springframework.security.authentication.RememberMeAuthenticationProvider.authenticate", - "return": "org.springframework.security.core.Authentication", - "parameters": ["org.springframework.security.core.Authentication"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "spring", - "link": "http://docs.spring.io/autorepo/docs/spring-security/3.1.8.CI-SNAPSHOT/apidocs/org/springframework/security/authentication/RememberMeAuthenticationProvider.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "The input object is authenticated and returned." -}, -{ - "name": "org.springframework.mock.web.MockJspWriter.println", - "return": "void", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/mock/web/MockJspWriter.html", - "cwe": [], - "type": ["sink"], - "comment": "Sink" -}, -{ - "name": "com.novell.ldap.LDAPConnection.connect", - "return": "void", - "parameters": ["java.lang.String","int"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "ldap", - "link": "https://www.novell.com/documentation/developer/jldap/jldapenu/api/com/novell/ldap/LDAPConnection.html", - "cwe": ["cwe863","cwe862","cwe306"], - "type": ["authentication"], - "comment": "Create a connection to the host and port. " -}, -{ - "name": "org.apache.xalan.templates.ElemTemplateElement.replaceChild", - "return": "org.w3c.dom.Node", - "parameters": ["org.w3c.dom.Node","org.w3c.dom.Node"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://xalan.apache.org/xalan-j/apidocs/org/apache/xalan/templates/ElemTemplateElement.html", - "cwe": [], - "type": ["sink"], - "comment": "Counter example for sanitizer (replace but for Nodes only)" -}, -{ - "name": "org.springframework.aop.support.StaticMethodMatcher.isRuntime", - "return": "boolean", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/aop/support/StaticMethodMatcher.html", - "cwe": [], - "type": [], - "comment": "Counter example for authentication (none)" -}, -{ - "name": "org.springframework.web.socket.config.HandlersBeanDefinitionParser.parse", - "return": "org.springframework.beans.factory.config.BeanDefinition", - "parameters": ["org.w3c.dom.Element","org.springframework.beans.factory.xml.ParserContext"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "spring", - "link": "https://github.com/spring-projects/spring-framework/blob/master/spring-websocket/src/main/java/org/springframework/web/socket/config/HandlersBeanDefinitionParser.java", - "cwe": ["cwe601"], - "type": ["source","sink"], - "comment": "Source training set" -}, -{ - "name": "com.github.scribejava.core.oauth.OAuth20Service.sendAccessTokenRequestSync", - "return": "com.github.scribejava.core.model.OAuth2AccessToken", - "parameters": ["com.github.scribejava.core.model.OAuthRequest"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "scribejava", - "link": "https://github.com/scribejava/scribejava/blob/master/scribejava-core/src/main/java/com/github/scribejava/core/oauth/OAuth20Service.java", - "cwe": ["cwe306"], - "type": ["authentication","sink"], - "comment": "Returns a tocken for the given request." -}, -{ - "name": "com.google.auth.oauth2.DefaultCredentialsProvider.getWellKnownCredentialsFile", - "return": "java.io.File", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "oauth", - "link": "", - "cwe": ["cwe862"], - "type": ["source"], - "comment": "Source training set" -}, -{ - "name": "com.github.scribejava.core.oauth.OAuth20Service.sendAccessTokenRequestAsync", - "return": "java.util.concurrent.Future", - "parameters": ["com.github.scribejava.core.model.OAuthRequestAsync","com.github.scribejava.core.model.OAuthAsyncRequestCallback"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "high", - "discovery": "manual", - "framework": "scribejava", - "link": "https://github.com/scribejava/scribejava/blob/master/scribejava-core/src/main/java/com/github/scribejava/core/oauth/OAuth20Service.java", - "cwe": ["cwe306"], - "type": ["authentication","sink"], - "comment": "Authenticates the request" -}, -{ - "name": "org.apache.xmlrpc.webserver.HttpServletRequestImpl.parseParameters", - "return": "void", - "parameters": [], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "", - "cwe": ["cwe079", "cwe601"], - "type": ["source"], - "comment": "Source training set" -}, -{ - "name": "org.apache.xmlrpc.client.XmlRpcClient.execute", - "return": "java.lang.Object", - "parameters": ["java.lang.String", "java.lang.Object[]"], - "dataIn": { - "return": false, - "parameters": [0,1] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/client/XmlRpcClient.html", - "cwe": ["cwe078"], - "type": ["sink"], - "comment": "Performes a request for the method provided as the first argument." -}, -{ - "name": "java.lang.Runtime.exec", - "return": "java.lang.Process", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "generaljava", - "link": "https://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html#exec(java.lang.String)", - "cwe": ["cwe078"], - "type": ["sink"], - "comment": "" -}, -{ - "name": "org.apache.xpath.jaxp.XPathImpl.compile", - "return": "javax.xml.xpath.XPathExpression", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "apache", - "link": "https://xml.apache.org/xalan-j/apidocs/org/apache/xpath/jaxp/XPathImpl.html", - "cwe": ["cwe078"], - "type": ["sink"], - "comment": "" -}, -{ - "name": "org.jsoup.parser.Parser.parse", - "return": "org.jsoup.nodes.Document", - "parameters": ["java.lang.String", "java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0, 1] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "jsoup", - "link": "https://jsoup.org/apidocs/org/jsoup/parser/Parser.html#parseInput-java.lang.String-java.lang.String-", - "cwe": ["cwe079"], - "type": ["source", "sink"], - "comment": "" -}, -{ - "name": "org.jsoup.nodes.Node.before", - "return": "org.jsoup.nodes.Node", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "jsoup", - "link": "https://jsoup.org/apidocs/org/jsoup/nodes/Node.html#before-java.lang.String-", - "cwe": ["cwe079"], - "type": ["sink"], - "comment": "" -}, -{ - "name": "org.jsoup.nodes.Node.after", - "return": "org.jsoup.nodes.Node", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "jsoup", - "link": "https://jsoup.org/apidocs/org/jsoup/nodes/Node.html#before-java.lang.String-", - "cwe": ["cwe079"], - "type": ["sink"], - "comment": "" -}, -{ - "name": "javax.servlet.ServletRequestWrapper.getParameter", - "return": "java.lang.String", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [] - }, - "dataOut": { - "return": true, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "javageneral", - "link": "https://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequestWrapper.html", - "cwe": ["cwe601"], - "type": ["source"], - "comment": "" -}, -{ - "name": "javax.servlet.http.HttpServletResponseWrapper.sendRedirect", - "return": "void", - "parameters": ["java.lang.String"], - "dataIn": { - "return": false, - "parameters": [0] - }, - "dataOut": { - "return": false, - "parameters": [] - }, - "securityLevel": "none", - "discovery": "manual", - "framework": "javageneral", - "link": "https://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletResponseWrapper.html", - "cwe": ["cwe601"], - "type": ["sink"], - "comment": "" -} - - ], - - - - "cwes": [ - { - "id": "none", - "name": "none", - "short": "none", - "link": "" - }, - - { - "id": "cwe089", - "name": "Improper Neutralization of Special Elements used in an SQL Command", - "short": "SQL Injection", - "link": "http://cwe.mitre.org/top25/#CWE-89" - }, - - { - "id": "cwe078", - "name": "Improper Neutralization of Special Elements used in an OS Command", - "short": "OS Command Injection", - "link": "http://cwe.mitre.org/top25/#CWE-78" - }, - - { - "id": "cwe120", - "name": "Buffer Copy without Checking Size of Input", - "short": "Buffer Overflow", - "link": "http://cwe.mitre.org/top25/#CWE-120" - }, - - { - "id": "cwe079", - "name": "Improper Neutralization of Input During Web Page Generation", - "short": "Cross-site Scripting", - "link": "http://cwe.mitre.org/top25/#CWE-79" - }, - - { - "id": "cwe306", - "name": "Missing Authentication for Critical Function", - "link": "http://cwe.mitre.org/top25/#CWE-306" - }, - - { - "id": "cwe862", - "name": "Missing Authorization", - "link": "http://cwe.mitre.org/top25/#CWE-862" - }, - - { - "id": "cwe798", - "name": "Use of Hard-coded Credentials", - "link": "http://cwe.mitre.org/top25/#CWE-798" - }, - - { - "id": "cwe311", - "name": "Missing Encryption of Sensitive Data", - "link": "http://cwe.mitre.org/top25/#CWE-311" - }, - - { - "id": "cwe434", - "name": "Unrestricted Upload of File with Dangerous Type", - "link": "http://cwe.mitre.org/top25/#CWE-434" - }, - - { - "id": "cwe807", - "name": "Reliance on Untrusted Inputs in a Security Decision", - "link": "http://cwe.mitre.org/top25/#CWE-807" - }, - - { - "id": "cwe250", - "name": "Execution with Unnecessary Privileges", - "link": "http://cwe.mitre.org/top25/#CWE-250" - }, - - { - "id": "cwe352", - "name": "Cross-Site Request Forgery", - "link": "http://cwe.mitre.org/top25/#CWE-352" - }, - - { - "id": "cwe022", - "name": "Improper Limitation of a Pathname to a Restricted Directory", - "short": "Path Traversal", - "link": "http://cwe.mitre.org/top25/#CWE-22" - }, - - { - "id": "cwe494", - "name": "Download of Code Without Integrity Check", - "link": "http://cwe.mitre.org/top25/#CWE-494" - }, - - { - "id": "cwe863", - "name": "Incorrect Authorization", - "link": "http://cwe.mitre.org/top25/#CWE-863" - }, - - { - "id": "cwe829", - "name": "Inclusion of Functionality from Untrusted Control Sphere", - "link": "http://cwe.mitre.org/top25/#CWE-829" - }, - - { - "id": "cwe732", - "name": "Incorrect Permission Assignment for Critical Resource", - "link": "http://cwe.mitre.org/top25/#CWE-732" - }, - - { - "id": "cwe676", - "name": "Use of Potentially Dangerous Function", - "link": "http://cwe.mitre.org/top25/#CWE-676" - }, - - { - "id": "cwe327", - "name": "Use of a Broken or Risky Cryptographic Algorithm", - "link": "http://cwe.mitre.org/top25/#CWE-327" - }, - - { - "id": "cwe131", - "name": "Incorrect Calculation of Buffer Size", - "link": "http://cwe.mitre.org/top25/#CWE-131" - }, - - { - "id": "cwe307", - "name": "Improper Restriction of Excessive Authentication Attempts", - "link": "http://cwe.mitre.org/top25/#CWE-307" - }, - - { - "id": "cwe601", - "name": "URL Redirection to Untrusted Site", - "short": "Open Redirect", - "link": "http://cwe.mitre.org/top25/#CWE-601" - }, - - { - "id": "cwe134", - "name": "Uncontrolled Format String", - "link": "http://cwe.mitre.org/top25/#CWE-134" - }, - - { - "id": "cwe190", - "name": "Integer Overflow or Wraparound", - "link": "http://cwe.mitre.org/top25/#CWE-190" - }, - - { - "id": "cwe759", - "name": "Use of a One-Way Hash without a Salt", - "link": "http://cwe.mitre.org/top25/#CWE-759" - } - ] -} diff --git a/swan-pipeline/src/main/resources/dataset/swan-dataset.json b/swan-pipeline/src/main/resources/dataset/swan-dataset.json deleted file mode 100644 index 7394582..0000000 --- a/swan-pipeline/src/main/resources/dataset/swan-dataset.json +++ /dev/null @@ -1,12338 +0,0 @@ -{ - "methods": [ - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Returns a {@code Method} object that reflects the specified declared method of the class or interface represented by this {@code Class} object. The {@code name} parameter is a {@code String} that specifies the simple name of the desired method, and the {@code parameterTypes} parameter is an array of {@code Class} objects that identify the method's formal parameter types, in declared order. If more than one method with the same parameter types is declared in a class, and one of these methods has a return type that is more specific than any of the others, that method is returned; otherwise one of the methods is chosen arbitrarily. If the name is \"\"or \"\" a {@code NoSuchMethodException} is raised. If this {@code Class} object represents an array type, then this method does not find the {@code clone()} method.", - "class": "Instances of the class {@code Class} represent classes and interfaces in a running Java application. An enum is a kind of class and an annotation is a kind of interface. Every array also belongs to a class that is reflected as a {@code Class} object that is shared by all arrays with the same element type and number of dimensions. The primitive Java types ({@code boolean}, {@code byte}, {@code char}, {@code short}, {@code int}, {@code long}, {@code float}, and {@code double}), and the keyword {@code void} are also represented as {@code Class} objects. {@code Class} has no public constructor. Instead {@code Class} objects are constructed automatically by the Java Virtual Machine as classes are loaded and by calls to the {@code defineClass} method in the class loader. The following example uses a {@code Class} object to print the class name of an object: void printClassName(Object obj) {\n System.out.println(\"The class of \" + obj +\n \" is \" + obj.getClass().getName());\n }\n It is also possible to get the {@code Class} object for a named type (or for void) using a class literal. See Section 15.8.2 of The Java™ Language Specification. For example: {@code System.out.println(\"The name of class Foo is: \"+Foo.class.getName());}" - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.lang.Class.getDeclaredMethod", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.lang.String", - "java.lang.Class[]" - ], - "return": "java.lang.reflect.Method", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE089" - ], - "javadoc": { - "method": "Persist the given transient instance, first assigning a generated identifier. (Or using the current value of the identifier property if the assigned generator is used.) This operation cascades to associated instances if the association is mapped with {@code cascade=\"save-update\"}", - "class": "Concrete implementation of a Session. Exposes two interfaces: {@link org.hibernate.Session} to the application {@link org.hibernate.engine.spi.SessionImplementor} to other Hibernate components (SPI) This class is not thread-safe." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.hibernate.internal.SessionImpl.save", - "jar": "hibernate-core-5.2.10.Final.jar", - "comment": "", - "parameters": [ - "java.lang.Object" - ], - "return": "java.io.Serializable", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Attempts to establish a connection to the given database URL. The DriverManager attempts to select an appropriate driver from the set of registered JDBC drivers. Note: If the {@code user} or {@code password} property are also specified as part of the {@code url}, it is implementation-defined as to which value will take precedence. For maximum portability, an application should only specify a property once.", - "class": "The basic service for managing a set of JDBC drivers. NOTE: The {@link javax.sql.DataSource} interface, new in the JDBC 2.0 API, provides another way to connect to a data source. The use of a DataSource object is the preferred means of connecting to a data source. As part of its initialization, the DriverManager class will attempt to load the driver classes referenced in the \"jdbc.drivers\" system property. This allows a user to customize the JDBC Drivers used by their applications. For example in your ~\/.hotjava\/properties file you might specify: jdbc.drivers=foo.bah.Driver:wombat.sql.Driver:bad.taste.ourDriver\n The DriverManager methods getConnection and getDrivers have been enhanced to support the Java Standard Edition Service Provider mechanism. JDBC 4.0 Drivers must include the file META-INF\/services\/java.sql.Driver. This file contains the name of the JDBC drivers implementation of java.sql.Driver. For example, to load the my.sql.Driver class, the META-INF\/services\/java.sql.Driver file would contain the entry: my.sql.Driver\n Applications no longer need to explicitly load JDBC drivers using Class.forName(). Existing programs which currently load JDBC drivers using Class.forName() will continue to work without modification. When the method getConnection is called, the DriverManager will attempt to locate a suitable driver from amongst those loaded at initialization and those loaded explicitly using the same classloader as the current applet or application. Starting with the Java 2 SDK, Standard Edition, version 1.3, a logging stream can be set only if the proper permission has been granted. Normally this will be done with the tool PolicyTool, which can be used to grant permission java.sql.SQLPermission \"setLog\"." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.sql.DriverManager.getConnection", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.lang.String", - "java.lang.String", - "java.lang.String" - ], - "return": "java.sql.Connection", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to return getPathInfo() on the wrapped request object.", - "class": "Provides a convenient implementation of the HttpServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.HttpServletRequestWrapper.getPathInfo", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "", - "class": "Mock implementation of the {@link javax.portlet.PortletRequest} interface." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.mock.web.portlet.MockPortletRequest.setParameter", - "jar": null, - "comment": "Sink", - "parameters": [ - "java.lang.String", - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0, - 1 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "The default behavior of this method is to return setAttribute(String name, Object o) on the wrapped request object.", - "class": "Provides a convenient implementation of the ServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.ServletRequestWrapper.setAttribute", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [ - "java.lang.String", - "java.lang.Object" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.apache.wicket.protocol.http.ClientProperties.getNavigatorUserAgent", - "jar": "wicket-core-7.8.0.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "The default behavior of this method is to call setIntHeader(String name, int value) on the wrapped response object.", - "class": "Provides a convenient implementation of the HttpServletResponse interface that can be subclassed by developers wishing to adapt the response from a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped response object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.HttpServletResponseWrapper.setIntHeader", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [ - "java.lang.String", - "int" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Log a method entry. This is a convenience method that can be used to log entry to a method. A LogRecord with message \"ENTRY\", log level FINER, and the given sourceMethod and sourceClass is logged.", - "class": "A Logger object is used to log messages for a specific system or application component. Loggers are normally named, using a hierarchical dot-separated namespace. Logger names can be arbitrary strings, but they should normally be based on the package name or class name of the logged component, such as java.net or javax.swing. In addition it is possible to create \"anonymous\" Loggers that are not stored in the Logger namespace. Logger objects may be obtained by calls on one of the getLogger factory methods. These will either create a new Logger or return a suitable existing Logger. It is important to note that the Logger returned by one of the {@code getLogger} factory methods may be garbage collected at any time if a strong reference to the Logger is not kept. Logging messages will be forwarded to registered Handler objects, which can forward the messages to a variety of destinations, including consoles, files, OS logs, etc. Each Logger keeps track of a \"parent\" Logger, which is its nearest existing ancestor in the Logger namespace. Each Logger has a \"Level\" associated with it. This reflects a minimum Level that this logger cares about. If a Logger's level is set to null, then its effective level is inherited from its parent, which may in turn obtain it recursively from its parent, and so on up the tree. The log level can be configured based on the properties from the logging configuration file, as described in the description of the LogManager class. However it may also be dynamically changed by calls on the Logger.setLevel method. If a logger's level is changed the change may also affect child loggers, since any child logger that has null as its level will inherit its effective level from its parent. On each logging call the Logger initially performs a cheap check of the request level (e.g., SEVERE or FINE) against the effective log level of the logger. If the request level is lower than the log level, the logging call returns immediately. After passing this initial (cheap) test, the Logger will allocate a LogRecord to describe the logging message. It will then call a Filter (if present) to do a more detailed check on whether the record should be published. If that passes it will then publish the LogRecord to its output Handlers. By default, loggers also publish to their parent's Handlers, recursively up the tree. Each Logger may have a {@code ResourceBundle} associated with it. The {@code ResourceBundle} may be specified by name, using the {@link #getLogger(java.lang.String, java.lang.String)} factory method, or by value - using the {@link #setResourceBundle(java.util.ResourceBundle) setResourceBundle} method. This bundle will be used for localizing logging messages. If a Logger does not have its own {@code ResourceBundle} or resource bundle name, then it will inherit the {@code ResourceBundle} or resource bundle name from its parent, recursively up the tree. Most of the logger output methods take a \"msg\" argument. This msg argument may be either a raw value or a localization key. During formatting, if the logger has (or inherits) a localization {@code ResourceBundle} and if the {@code ResourceBundle} has a mapping for the msg string, then the msg string is replaced by the localized value. Otherwise the original msg string is used. Typically, formatters use java.text.MessageFormat style formatting to format parameters, so for example a format string \"{0} {1}\" would format two parameters as strings. A set of methods alternatively take a \"msgSupplier\" instead of a \"msg\" argument. These methods take a {@link Supplier}{@code } function which is invoked to construct the desired log message only when the message actually is to be logged based on the effective log level thus eliminating unnecessary message construction. For example, if the developer wants to log system health status for diagnosis, with the String-accepting version, the code would look like: \n\n class DiagnosisMessages {\n static String systemHealthStatus() {\n \/\/ collect system health information\n ...\n }\n }\n ...\n logger.log(Level.FINER, DiagnosisMessages.systemHealthStatus());\n With the above code, the health status is collected unnecessarily even when the log level FINER is disabled. With the Supplier-accepting version as below, the status will only be collected when the log level FINER is enabled. \n\n logger.log(Level.FINER, DiagnosisMessages::systemHealthStatus);\n When looking for a {@code ResourceBundle}, the logger will first look at whether a bundle was specified using {@link #setResourceBundle(java.util.ResourceBundle) setResourceBundle}, and then only whether a resource bundle name was specified through the {@link #getLogger(java.lang.String, java.lang.String) getLogger} factory method. If no {@code ResourceBundle} or no resource bundle name is found, then it will use the nearest {@code ResourceBundle} or resource bundle name inherited from its parent tree. When a {@code ResourceBundle} was inherited or specified through the {@link #setResourceBundle(java.util.ResourceBundle) setResourceBundle} method, then that {@code ResourceBundle} will be used. Otherwise if the logger only has or inherited a resource bundle name, then that resource bundle name will be mapped to a {@code ResourceBundle} object, using the default Locale at the time of logging. When mapping resource bundle names to {@code ResourceBundle} objects, the logger will first try to use the Thread's {@linkplain java.lang.Thread#getContextClassLoader() context class loader} to map the given resource bundle name to a {@code ResourceBundle}. If the thread context class loader is {@code null}, it will try the {@linkplain java.lang.ClassLoader#getSystemClassLoader() system class loader} instead. If the {@code ResourceBundle} is still not found, it will use the class loader of the first caller of the {@link #getLogger(java.lang.String, java.lang.String) getLogger} factory method. Formatting (including localization) is the responsibility of the output Handler, which will typically call a Formatter. Note that formatting need not occur synchronously. It may be delayed until a LogRecord is actually written to an external sink. The logging methods are grouped in five main categories: There are a set of \"log\" methods that take a log level, a message string, and optionally some parameters to the message string. There are a set of \"logp\" methods (for \"log precise\") that are like the \"log\" methods, but also take an explicit source class name and method name. There are a set of \"logrb\" method (for \"log with resource bundle\") that are like the \"logp\" method, but also take an explicit resource bundle object for use in localizing the log message. There are convenience methods for tracing method entries (the \"entering\" methods), method returns (the \"exiting\" methods) and throwing exceptions (the \"throwing\" methods). Finally, there are a set of convenience methods for use in the very simplest cases, when a developer simply wants to log a simple string at a given log level. These methods are named after the standard Level names (\"severe\", \"warning\", \"info\", etc.) and take a single argument, a message string. For the methods that do not take an explicit source name and method name, the Logging framework will make a \"best effort\" to determine which class and method called into the logging method. However, it is important to realize that this automatically inferred information may only be approximate (or may even be quite wrong!). Virtual machines are allowed to do extensive optimizations when JITing and may entirely remove stack frames, making it impossible to reliably locate the calling class and method. All methods on Logger are multi-thread safe. Subclassing Information: Note that a LogManager class may provide its own implementation of named Loggers for any point in the namespace. Therefore, any subclasses of Logger (unless they are implemented in conjunction with a new LogManager class) should take care to obtain a Logger instance from the LogManager class and should delegate operations such as \"isLoggable\" and \"log(LogRecord)\" to that instance. Note that in order to intercept all logging output, subclasses need only override the log(LogRecord) method. All the other logging methods are implemented as calls on this log(LogRecord) method." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.util.logging.Logger.entering", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.lang.String", - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring\/docs\/current\/javadoc-api\/org\/springframework\/jca\/cci\/connection\/SingleConnectionFactory.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "Create a new SingleConnectionFactory for bean-style usage.", - "class": "A CCI ConnectionFactory adapter that returns the same Connection on all {@code getConnection} calls, and ignores calls to {@code Connection.close()}. Useful for testing and standalone environments, to keep using the same Connection for multiple CciTemplate calls, without having a pooling ConnectionFactory, also spanning any number of transactions. You can either pass in a CCI Connection directly, or let this factory lazily create a Connection via a given target ConnectionFactory." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.jca.cci.connection.SingleConnectionFactory.", - "jar": null, - "comment": "Counter example for authentication (init)", - "parameters": [], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/spring-security\/site\/docs\/3.2.6.RELEASE\/apidocs\/org\/springframework\/security\/core\/userdetails\/UserDetailsByNameServiceWrapper.html", - "type": [ - "source" - ], - "cwe": [ - "CWE862" - ], - "javadoc": { - "method": "Get the UserDetails object from the wrapped UserDetailsService implementation", - "class": "This implementation for AuthenticationUserDetailsService wraps a regular Spring Security UserDetailsService implementation, to retrieve a UserDetails object based on the user name contained in an Authentication object." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.core.userdetails.UserDetailsByNameServiceWrapper.loadUserDetails", - "jar": null, - "comment": "Source training set", - "parameters": [ - "org.springframework.security.core.Authentication" - ], - "return": "org.springframework.security.core.userdetails.UserDetails", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/commons.apache.org\/proper\/commons-lang\/javadocs\/api-3.1\/org\/apache\/commons\/lang3\/text\/StrSubstitutor.html", - "type": [ - "sink", - "sanitizer" - ], - "cwe": [ - "CWE089", - "CWE078", - "CWE306", - "CWE079", - "CWE601" - ], - "javadoc": { - "method": "Replaces all the occurrences of variables with their matching values from the resolver using the given source array as a template. The array is not altered by this method.", - "class": "Substitutes variables within a string by values. This class takes a piece of text and substitutes all the variables within it. The default definition of a variable is {@code ${variableName}}. The prefix and suffix can be changed via constructors and set methods. Variable values are typically resolved from a map, but could also be resolved from system properties, or by supplying a custom variable resolver. The simplest example is to use this class to replace Java System properties. For example: StrSubstitutor.replaceSystemProperties(\n \"You are running with java.version = ${java.version} and os.name = ${os.name}.\");\n Typical usage of this class follows the following pattern: First an instance is created and initialized with the map that contains the values for the available variables. If a prefix and\/or suffix for variables should be used other than the default ones, the appropriate settings can be performed. After that the {@code replace()} method can be called passing in the source text for interpolation. In the returned text all variable references (as long as their values are known) will be resolved. The following example demonstrates this: Map valuesMap = HashMap();\n valuesMap.put(\"animal\", \"quick brown fox\");\n valuesMap.put(\"target\", \"lazy dog\");\n String templateString = \"The ${animal} jumps over the ${target}.\";\n StrSubstitutor sub = new StrSubstitutor(valuesMap);\n String resolvedString = sub.replace(templateString);\n yielding: The quick brown fox jumps over the lazy dog.\n Also, this class allows to set a default value for unresolved variables. The default value for a variable can be appended to the variable name after the variable default value delimiter. The default value of the variable default value delimiter is ':-', as in bash and other *nix shells, as those are arguably where the default ${} delimiter set originated. The variable default value delimiter can be manually set by calling {@link #setValueDelimiterMatcher(StrMatcher)}, {@link #setValueDelimiter(char)} or {@link #setValueDelimiter(String)}. The following shows an example with variable default value settings: Map valuesMap = HashMap();\n valuesMap.put(\"animal\", \"quick brown fox\");\n valuesMap.put(\"target\", \"lazy dog\");\n String templateString = \"The ${animal} jumps over the ${target}. ${undefined.number:-1234567890}.\";\n StrSubstitutor sub = new StrSubstitutor(valuesMap);\n String resolvedString = sub.replace(templateString);\n yielding: The quick brown fox jumps over the lazy dog. 1234567890.\n In addition to this usage pattern there are some static convenience methods that cover the most common use cases. These methods can be used without the need of manually creating an instance. However if multiple replace operations are to be performed, creating and reusing an instance of this class will be more efficient. Variable replacement works in a recursive way. Thus, if a variable value contains a variable then that variable will also be replaced. Cyclic replacements are detected and will cause an exception to be thrown. Sometimes the interpolation's result must contain a variable prefix. As an example take the following source text: The variable ${${name}} must be used.\n Here only the variable's name referred to in the text should be replaced resulting in the text (assuming that the value of the {@code name} variable is {@code x}): The variable ${x} must be used.\n To achieve this effect there are two possibilities: Either set a different prefix and suffix for variables which do not conflict with the result text you want to produce. The other possibility is to use the escape character, by default '$'. If this character is placed before a variable reference, this reference is ignored and won't be replaced. For example: The variable $${${name}} must be used.\n In some complex scenarios you might even want to perform substitution in the names of variables, for instance ${jre-${java.specification.version}}\n {@code StrSubstitutor} supports this recursive substitution in variable names, but it has to be enabled explicitly by setting the {@link #setEnableSubstitutionInVariables(boolean) enableSubstitutionInVariables} property to true. This class is not thread safe." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.commons.lang3.text.StrSubstitutor.replace", - "jar": null, - "comment": "", - "parameters": [ - "char[]" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/hc.apache.org\/httpcomponents-client-ga\/httpclient\/apidocs\/org\/apache\/http\/impl\/auth\/DigestScheme.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Produces a digest authorization string for the given set of {@link Credentials}, method name and URI.", - "class": "Digest authentication scheme as defined in RFC 2617. Both MD5 (default) and MD5-sess are supported. Currently only qop=auth or no qop is supported. qop=auth-int is unsupported. If auth and auth-int are provided, auth is used. Credential charset is configured via the {@link org.apache.http.auth.params.AuthPNames#CREDENTIAL_CHARSET} parameter of the HTTP request. Since the digest username is included as clear text in the generated Authentication header, the charset of the username must be compatible with the {@link org.apache.http.params.CoreProtocolPNames#HTTP_ELEMENT_CHARSET http element charset}. The following parameters can be used to customize the behavior of this class: {@link org.apache.http.auth.params.AuthPNames#CREDENTIAL_CHARSET}" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.http.impl.auth.DigestScheme.authenticate", - "jar": null, - "comment": "Produces an authentication string for the given credentials.", - "parameters": [ - "org.apache.http.auth.Credentials", - "org.apache.http.HttpRequest" - ], - "return": "org.apache.http.Header", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/hc.apache.org\/httpcomponents-client-ga\/httpclient\/apidocs\/org\/apache\/http\/impl\/auth\/NTLMScheme.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Produces an authorization string for the given set of {@link Credentials}.", - "class": "NTLM is a proprietary authentication scheme developed by Microsoft and optimized for Windows platforms." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.http.impl.auth.NTLMScheme.authenticate", - "jar": null, - "comment": "Produces an authentication string for the given credentials.", - "parameters": [ - "org.apache.http.auth.Credentials", - "org.apache.http.HttpRequest" - ], - "return": "org.apache.http.Header", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [], - "cwe": [], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.springframework.web.filter.DelegatingFilterProxy.class$", - "jar": null, - "comment": "Counter example for sanitizer (String param, but implicit method)", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.Class", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Gets the system property indicated by the specified key. First, if there is a security manager, its checkPropertyAccess method is called with the key as its argument. If there is no current set of system properties, a set of system properties is first created and initialized in the same manner as for the getProperties method.", - "class": "The System class contains several useful class fields and methods. It cannot be instantiated. Among the facilities provided by the System class are standard input, standard output, and error output streams; access to externally defined properties and environment variables; a means of loading files and libraries; and a utility method for quickly copying a portion of an array." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "java.lang.System.getProperty", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.lang.String", - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/hc.apache.org\/httpclient-3.x\/apidocs\/org\/apache\/commons\/httpclient\/auth\/BasicScheme.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Produces basic authorization string for the given set of {@link Credentials}.", - "class": "Basic authentication scheme as defined in RFC 2617." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.commons.httpclient.auth.BasicScheme.authenticate", - "jar": null, - "comment": "When the input is true, the tocken should be trusted.", - "parameters": [ - "org.apache.commons.httpclient.Credentials", - "org.apache.commons.httpclient.HttpMethod" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/xml.apache.org\/xalan-j\/apidocs\/org\/apache\/xalan\/xsltc\/runtime\/BasisLibrary.html", - "type": [ - "sink", - "sanitizer" - ], - "cwe": [ - "CWE089", - "CWE078", - "CWE079", - "CWE601" - ], - "javadoc": { - "method": "Replace a certain character in a string with a new substring.", - "class": "Standard XSLT functions. All standard functions expect the current node and the DOM as their last two arguments." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xalan.xsltc.runtime.BasisLibrary.replace", - "jar": null, - "comment": "String replacement", - "parameters": [ - "java.lang.String", - "java.lang.String", - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0, - 1, - 2 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "This method encodes for JavaScript strings contained within HTML script blocks. It is NOT safe for use in script attributes (such as onclick). The caller must provide the surrounding quotation characters. This method performs the same encode as {@link #forJavaScript(String)} with the exception that \" and ' are encoded as \\\" and \\' respectively. Unless you are interested in saving a few bytes of output or are writing a framework on top of this library, it is recommend that you use {@link #forJavaScript(String)} over this method. Example JSP Usage: \n var data = \"\";", - "class": "Encode -- fluent interface for contextual encoding. Example usage in a JSP: \" \/>\n There are two versions of each contextual encoding method. The first takes a {@code String} argument and returns the encoded version as a {@code String}. The second version writes the encoded version directly to a {@code Writer}. Please make sure to read and understand the context that the method encodes for. Encoding for the incorrect context will likely lead to exposing a cross-site scripting vulnerability." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.owasp.encoder.Encode.forJavaScriptBlock", - "jar": "encoder-1.2.1.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/hc.apache.org\/httpclient-3.x\/apidocs\/org\/apache\/commons\/httpclient\/auth\/NTLMScheme.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Create a NTLM authorization string for the given challenge and NT credentials.", - "class": "An implementation of the Microsoft proprietary NTLM authentication scheme. For a detailed explanation of the NTLM scheme please see http:\/\/davenport.sourceforge.net\/ntlm.html." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.commons.httpclient.auth.NTLMScheme.authenticate", - "jar": null, - "comment": "Depricated method. The credentials are provided. The authentication string is returned.", - "parameters": [ - "org.apache.commons.httpclient.NTCredentials", - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to return getParameterNames() on the wrapped request object.", - "class": "Provides a convenient implementation of the ServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.ServletRequestWrapper.getParameterNames", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.util.Enumeration", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/ws.apache.org\/xmlrpc\/apidocs\/org\/apache\/xmlrpc\/webserver\/HttpServletRequestImpl.html", - "type": [ - "source" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "Gets the real path corresponding to the given virtual path. For example, if path is equal to \/index.html, this method will return the absolute file path on the server's filesystem to which a request of the form http:\/\/<host>:<port>\/<contextPath>\/index.html would be mapped, where <contextPath> corresponds to the context path of this ServletContext. The real path returned will be in a form appropriate to the computer and operating system on which the servlet container is running, including the proper path separators. Resources inside the \/META-INF\/resources directories of JAR files bundled in the application's \/WEB-INF\/lib directory must be considered only if the container has unpacked them from their containing JAR file, in which case the path to the unpacked location must be returned. This method returns null if the servlet container is unable to translate the given virtual path to a real path.", - "class": "Stub implementation of a {@link javax.servlet.http.HttpServletRequest} with lots of unimplemented methods. I implemented only those, which are required for testing the {@link org.apache.xmlrpc.webserver.XmlRpcServlet}. Perhaps someone else is adding more at a later time?" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xmlrpc.webserver.HttpServletRequestImpl.getRealPath", - "jar": null, - "comment": "Counter example for sanitizer.", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Log an INFO message. If the logger is currently enabled for the INFO message level then the given message is forwarded to all the registered output Handler objects.", - "class": "A Logger object is used to log messages for a specific system or application component. Loggers are normally named, using a hierarchical dot-separated namespace. Logger names can be arbitrary strings, but they should normally be based on the package name or class name of the logged component, such as java.net or javax.swing. In addition it is possible to create \"anonymous\" Loggers that are not stored in the Logger namespace. Logger objects may be obtained by calls on one of the getLogger factory methods. These will either create a new Logger or return a suitable existing Logger. It is important to note that the Logger returned by one of the {@code getLogger} factory methods may be garbage collected at any time if a strong reference to the Logger is not kept. Logging messages will be forwarded to registered Handler objects, which can forward the messages to a variety of destinations, including consoles, files, OS logs, etc. Each Logger keeps track of a \"parent\" Logger, which is its nearest existing ancestor in the Logger namespace. Each Logger has a \"Level\" associated with it. This reflects a minimum Level that this logger cares about. If a Logger's level is set to null, then its effective level is inherited from its parent, which may in turn obtain it recursively from its parent, and so on up the tree. The log level can be configured based on the properties from the logging configuration file, as described in the description of the LogManager class. However it may also be dynamically changed by calls on the Logger.setLevel method. If a logger's level is changed the change may also affect child loggers, since any child logger that has null as its level will inherit its effective level from its parent. On each logging call the Logger initially performs a cheap check of the request level (e.g., SEVERE or FINE) against the effective log level of the logger. If the request level is lower than the log level, the logging call returns immediately. After passing this initial (cheap) test, the Logger will allocate a LogRecord to describe the logging message. It will then call a Filter (if present) to do a more detailed check on whether the record should be published. If that passes it will then publish the LogRecord to its output Handlers. By default, loggers also publish to their parent's Handlers, recursively up the tree. Each Logger may have a {@code ResourceBundle} associated with it. The {@code ResourceBundle} may be specified by name, using the {@link #getLogger(java.lang.String, java.lang.String)} factory method, or by value - using the {@link #setResourceBundle(java.util.ResourceBundle) setResourceBundle} method. This bundle will be used for localizing logging messages. If a Logger does not have its own {@code ResourceBundle} or resource bundle name, then it will inherit the {@code ResourceBundle} or resource bundle name from its parent, recursively up the tree. Most of the logger output methods take a \"msg\" argument. This msg argument may be either a raw value or a localization key. During formatting, if the logger has (or inherits) a localization {@code ResourceBundle} and if the {@code ResourceBundle} has a mapping for the msg string, then the msg string is replaced by the localized value. Otherwise the original msg string is used. Typically, formatters use java.text.MessageFormat style formatting to format parameters, so for example a format string \"{0} {1}\" would format two parameters as strings. A set of methods alternatively take a \"msgSupplier\" instead of a \"msg\" argument. These methods take a {@link Supplier}{@code } function which is invoked to construct the desired log message only when the message actually is to be logged based on the effective log level thus eliminating unnecessary message construction. For example, if the developer wants to log system health status for diagnosis, with the String-accepting version, the code would look like: \n\n class DiagnosisMessages {\n static String systemHealthStatus() {\n \/\/ collect system health information\n ...\n }\n }\n ...\n logger.log(Level.FINER, DiagnosisMessages.systemHealthStatus());\n With the above code, the health status is collected unnecessarily even when the log level FINER is disabled. With the Supplier-accepting version as below, the status will only be collected when the log level FINER is enabled. \n\n logger.log(Level.FINER, DiagnosisMessages::systemHealthStatus);\n When looking for a {@code ResourceBundle}, the logger will first look at whether a bundle was specified using {@link #setResourceBundle(java.util.ResourceBundle) setResourceBundle}, and then only whether a resource bundle name was specified through the {@link #getLogger(java.lang.String, java.lang.String) getLogger} factory method. If no {@code ResourceBundle} or no resource bundle name is found, then it will use the nearest {@code ResourceBundle} or resource bundle name inherited from its parent tree. When a {@code ResourceBundle} was inherited or specified through the {@link #setResourceBundle(java.util.ResourceBundle) setResourceBundle} method, then that {@code ResourceBundle} will be used. Otherwise if the logger only has or inherited a resource bundle name, then that resource bundle name will be mapped to a {@code ResourceBundle} object, using the default Locale at the time of logging. When mapping resource bundle names to {@code ResourceBundle} objects, the logger will first try to use the Thread's {@linkplain java.lang.Thread#getContextClassLoader() context class loader} to map the given resource bundle name to a {@code ResourceBundle}. If the thread context class loader is {@code null}, it will try the {@linkplain java.lang.ClassLoader#getSystemClassLoader() system class loader} instead. If the {@code ResourceBundle} is still not found, it will use the class loader of the first caller of the {@link #getLogger(java.lang.String, java.lang.String) getLogger} factory method. Formatting (including localization) is the responsibility of the output Handler, which will typically call a Formatter. Note that formatting need not occur synchronously. It may be delayed until a LogRecord is actually written to an external sink. The logging methods are grouped in five main categories: There are a set of \"log\" methods that take a log level, a message string, and optionally some parameters to the message string. There are a set of \"logp\" methods (for \"log precise\") that are like the \"log\" methods, but also take an explicit source class name and method name. There are a set of \"logrb\" method (for \"log with resource bundle\") that are like the \"logp\" method, but also take an explicit resource bundle object for use in localizing the log message. There are convenience methods for tracing method entries (the \"entering\" methods), method returns (the \"exiting\" methods) and throwing exceptions (the \"throwing\" methods). Finally, there are a set of convenience methods for use in the very simplest cases, when a developer simply wants to log a simple string at a given log level. These methods are named after the standard Level names (\"severe\", \"warning\", \"info\", etc.) and take a single argument, a message string. For the methods that do not take an explicit source name and method name, the Logging framework will make a \"best effort\" to determine which class and method called into the logging method. However, it is important to realize that this automatically inferred information may only be approximate (or may even be quite wrong!). Virtual machines are allowed to do extensive optimizations when JITing and may entirely remove stack frames, making it impossible to reliably locate the calling class and method. All methods on Logger are multi-thread safe. Subclassing Information: Note that a LogManager class may provide its own implementation of named Loggers for any point in the namespace. Therefore, any subclasses of Logger (unless they are implemented in conjunction with a new LogManager class) should take care to obtain a Logger instance from the LogManager class and should delegate operations such as \"isLoggable\" and \"log(LogRecord)\" to that instance. Note that in order to intercept all logging output, subclasses need only override the log(LogRecord) method. All the other logging methods are implemented as calls on this log(LogRecord) method." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.util.logging.Logger.info", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/spring\/docs\/current\/javadoc-api\/org\/springframework\/web\/servlet\/tags\/UrlTag.html", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Build the query string from available parameters that have not already been applied as template params. The names and values of parameters are URL encoded.", - "class": "JSP tag for creating URLs. Modeled after the JSTL c:url tag with backwards compatibility in mind. Enhancements to the JSTL functionality include: URL encoded template URI variables HTML\/XML escaping of URLs JavaScript escaping of URLs Template URI variables are indicated in the {@link #setValue(String) 'value'} attribute and marked by braces '{variableName}'. The braces and attribute name are replaced by the URL encoded value of a parameter defined with the spring:param tag in the body of the url tag. If no parameter is available the literal value is passed through. Params matched to template variables will not be added to the query string. Use of the spring:param tag for URI template variables is strongly recommended over direct EL substitution as the values are URL encoded. Failure to properly encode URL can leave an application vulnerable to XSS and other injection attacks. URLs can be HTML\/XML escaped by setting the {@link #setHtmlEscape(boolean) 'htmlEscape'} attribute to 'true'. Detects an HTML escaping setting, either on this tag instance, the page level, or the {@code web.xml} level. The default is 'false'. When setting the URL value into a variable, escaping is not recommended. Example usage: \n \n Results in: {@code \/currentApplicationContext\/url\/path\/more%20than%20JSTL%20c%3Aurl}" - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.web.servlet.tags.UrlTag.createQueryString", - "jar": null, - "comment": "Source training set", - "parameters": [ - "java.util.List", - "java.util.Set", - "boolean" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0, - 1 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring\/docs\/current\/javadoc-api\/org\/springframework\/beans\/factory\/support\/MethodOverrides.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "Return whether the set of method overrides is empty.", - "class": "Set of method overrides, determining which, if any, methods on a managed object the Spring IoC container will override at runtime. The currently supported {@link MethodOverride} variants are {@link LookupOverride} and {@link ReplaceOverride}." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.beans.factory.support.MethodOverrides.isEmpty", - "jar": null, - "comment": "Counter example for authentication (none)", - "parameters": [], - "return": "boolean", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/hc.apache.org\/httpclient-3.x\/apidocs\/org\/apache\/commons\/httpclient\/auth\/BasicScheme.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Produces basic authorization string for the given set of {@link Credentials}.", - "class": "Basic authentication scheme as defined in RFC 2617." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.commons.httpclient.auth.BasicScheme.authenticate", - "jar": null, - "comment": "When the input is true, the tocken should be trusted.", - "parameters": [ - "org.apache.commons.httpclient.UsernamePasswordCredentials" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/spring-framework\/docs\/current\/javadoc-api\/org\/springframework\/messaging\/simp\/stomp\/StompDecoder.html", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "See STOMP Spec 1.2: \"Value Encoding\".", - "class": "Decodes one or more STOMP frames contained in a {@link ByteBuffer}. An attempt is made to read all complete STOMP frames from the buffer, which could be zero, one, or more. If there is any left-over content, i.e. an incomplete STOMP frame, at the end the buffer is reset to point to the beginning of the partial content. The caller is then responsible for dealing with that incomplete content by buffering until there is more input available." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.messaging.simp.stomp.StompDecoder.unescape", - "jar": null, - "comment": "Counter example for sanitizer (unescape)", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/github.com\/balzaczyy\/pebble-clone\/blob\/master\/src\/main\/java\/net\/sourceforge\/pebble\/event\/AuditListener.java", - "type": [], - "cwe": [], - "javadoc": { - "method": "Called when a blog entry has been unpublished.", - "class": "" - }, - "framework": "pebble", - "discovery": "manual", - "name": "net.sourceforge.pebble.event.AuditListener.blogEntryUnpublished", - "jar": null, - "comment": "Counter example for sink", - "parameters": [ - "net.sourceforge.pebble.api.event.blogentry.BlogEntryEvent" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE089" - ], - "javadoc": { - "method": "Return the persistent instance of the given entity class with the given identifier, assuming that the instance exists. This method might return a proxied instance that is initialized on-demand, when a non-identifier method is accessed. You should not use this method to determine if an instance exists (use get() instead). Use this only to retrieve an instance that you assume exists, where non-existence would be an actual error.", - "class": "Concrete implementation of a Session. Exposes two interfaces: {@link org.hibernate.Session} to the application {@link org.hibernate.engine.spi.SessionImplementor} to other Hibernate components (SPI) This class is not thread-safe." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.hibernate.internal.SessionImpl.load", - "jar": "hibernate-core-5.2.10.Final.jar", - "comment": "", - "parameters": [ - "java.lang.Class", - "java.io.Serializable" - ], - "return": "java.lang.Object", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/spring\/docs\/current\/javadoc-api\/org\/springframework\/web\/servlet\/tags\/UrlTag.html", - "type": [ - "sink", - "source" - ], - "cwe": [ - "CWE079", - "CWE601" - ], - "javadoc": { - "method": "Build the URL for the tag from the tag attributes and parameters.", - "class": "JSP tag for creating URLs. Modeled after the JSTL c:url tag with backwards compatibility in mind. Enhancements to the JSTL functionality include: URL encoded template URI variables HTML\/XML escaping of URLs JavaScript escaping of URLs Template URI variables are indicated in the {@link #setValue(String) 'value'} attribute and marked by braces '{variableName}'. The braces and attribute name are replaced by the URL encoded value of a parameter defined with the spring:param tag in the body of the url tag. If no parameter is available the literal value is passed through. Params matched to template variables will not be added to the query string. Use of the spring:param tag for URI template variables is strongly recommended over direct EL substitution as the values are URL encoded. Failure to properly encode URL can leave an application vulnerable to XSS and other injection attacks. URLs can be HTML\/XML escaped by setting the {@link #setHtmlEscape(boolean) 'htmlEscape'} attribute to 'true'. Detects an HTML escaping setting, either on this tag instance, the page level, or the {@code web.xml} level. The default is 'false'. When setting the URL value into a variable, escaping is not recommended. Example usage: \n \n Results in: {@code \/currentApplicationContext\/url\/path\/more%20than%20JSTL%20c%3Aurl}" - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.web.servlet.tags.UrlTag.createUrl", - "jar": null, - "comment": "Source training set", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "This method encodes for HTML text attributes. Example JSP Usage \n Encoding Table Input Result {@code &} {@code &} {@code }) is not required for attributes. Numeric encoding is used for double-quote character ({@code \"}) as it shorter than the also valid {@code \"}. Carriage return (U+0D), line-feed (U+0A), horizontal tab (U+09) and space (U+20) are valid in quoted attributes and in block in an unescaped form. Surrogate pairs are passed through only if valid. Characters that are not valid according to the XML specification are replaced by a space character as they could lead to parsing errors. In particular only {@code #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]} are considered valid.", - "class": "Encode -- fluent interface for contextual encoding. Example usage in a JSP: \" \/>\n There are two versions of each contextual encoding method. The first takes a {@code String} argument and returns the encoded version as a {@code String}. The second version writes the encoded version directly to a {@code Writer}. Please make sure to read and understand the context that the method encodes for. Encoding for the incorrect context will likely lead to exposing a cross-site scripting vulnerability." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.owasp.encoder.Encode.forHtmlAttribute", - "jar": "encoder-1.2.1.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring\/docs\/4.3.9.RELEASE\/javadoc-api\/org\/springframework\/jca\/cci\/connection\/ConnectionFactoryUtils.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.jca.cci.connection.ConnectionFactoryUtils.", - "jar": null, - "comment": "Counter example for authentication (init)", - "parameters": [], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "http:\/\/docs.spring.io\/autorepo\/docs\/spring-security\/3.2.9.RELEASE\/apidocs\/org\/springframework\/security\/authentication\/UsernamePasswordAuthenticationToken.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "See {@link #isAuthenticated()} for a full description. Implementations should always allow this method to be called with a false parameter, as this is used by various classes to specify the authentication token should not be trusted. If an implementation wishes to reject an invocation with a true parameter (which would indicate the authentication token is trusted - a potential security risk) the implementation should throw an {@link IllegalArgumentException}.", - "class": "An {@link org.springframework.security.core.Authentication} implementation that is designed for simple presentation of a username and password. The principal and credentials should be set with an Object that provides the respective property via its Object.toString() method. The simplest such Object to use is String." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.authentication.UsernamePasswordAuthenticationToken.setAuthenticated", - "jar": null, - "comment": "When the input is true, the tocken should be trusted. So the security level depentd on this fact.", - "parameters": [ - "boolean" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Turn special characters into HTML character references. Handles complete character set defined in HTML 4.01 recommendation. Escapes all special characters to their corresponding numeric reference in hex format (&#xHex;). Reference: http:\/\/www.w3.org\/TR\/html4\/sgml\/entities.html", - "class": "Utility class for HTML escaping. Escapes and unescapes based on the W3C HTML 4.01 recommendation, handling character entity references. Reference: http:\/\/www.w3.org\/TR\/html4\/charset.html For a comprehensive set of String escaping utilities, consider Apache Commons Lang and its StringEscapeUtils class. We are not using that class here to avoid a runtime dependency on Commons Lang just for HTML escaping. Furthermore, Spring's HTML escaping is more flexible and 100% HTML 4.0 compliant." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.springframework.web.util.HtmlUtils.htmlEscapeHex", - "jar": "spring-web-4.3.9.RELEASE.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/shiro.apache.org\/static\/1.2.1\/apidocs\/org\/apache\/shiro\/subject\/support\/DelegatingSubject.html", - "type": [ - "auth-unsafe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Logs out this Subject and invalidates and\/or removes any associated entities, such as a {@link Session Session} and authorization data. After this method is called, the Subject is considered 'anonymous' and may continue to be used for another log-in if desired. Web Environment Warning Calling this method in web environments will usually remove any associated session cookie as part of session invalidation. Because cookies are part of the HTTP header, and headers can only be set before the response body (html, image, etc) is sent, this method in web environments must be called before any content has been rendered. The typical approach most applications use in this scenario is to redirect the user to a different location (e.g. home page) immediately after calling this method. This is an effect of the HTTP protocol itself and not a reflection of Shiro's implementation. Non-HTTP environments may of course use a logged-out subject for login again if desired.", - "class": "Implementation of the {@code Subject} interface that delegates method calls to an underlying {@link org.apache.shiro.mgt.SecurityManager SecurityManager} instance for security checks. It is essentially a {@code SecurityManager} proxy. This implementation does not maintain state such as roles and permissions (only {@code Subject} {@link #getPrincipals() principals}, such as usernames or user primary keys) for better performance in a stateless architecture. It instead asks the underlying {@code SecurityManager} every time to perform the authorization check. A common misconception in using this implementation is that an EIS resource (RDBMS, etc) would be \"hit\" every time a method is called. This is not necessarily the case and is up to the implementation of the underlying {@code SecurityManager} instance. If caching of authorization data is desired (to eliminate EIS round trips and therefore improve database performance), it is considered much more elegant to let the underlying {@code SecurityManager} implementation or its delegate components manage caching, not this class. A {@code SecurityManager} is considered a business-tier component, where caching strategies are better managed. Applications from large and clustered to simple and JVM-local all benefit from stateless architectures. This implementation plays a part in the stateless programming paradigm and should be used whenever possible." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.shiro.subject.support.DelegatingSubject.logout", - "jar": null, - "comment": "Logout", - "parameters": [], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to return getRemoteAddr() on the wrapped request object.", - "class": "Provides a convenient implementation of the ServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.ServletRequestWrapper.getRemoteAddr", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/ws.apache.org\/xmlrpc\/apidocs\/org\/apache\/xmlrpc\/webserver\/XmlRpcServlet.html", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Writes the specified message to a servlet log file, usually an event log. The name and type of the servlet log file is specific to the servlet container.", - "class": "A default servlet implementation The typical use would be to derive a subclass, which is overwriting at least the method {@link #newXmlRpcHandlerMapping()}. The servlet accepts the following init parameters: Name Description enabledForExtensions Sets the value {@link XmlRpcConfig#isEnabledForExtensions()} to true." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xmlrpc.webserver.XmlRpcServlet.log", - "jar": null, - "comment": "Sink", - "parameters": [ - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/github.com\/apache\/stratos\/blob\/master\/components\/org.apache.stratos.cli\/src\/main\/java\/org\/apache\/stratos\/cli\/StratosApplication.java", - "type": [ - "sink" - ], - "cwe": [ - "CWE078" - ], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.stratos.cli.StratosApplication.run", - "jar": null, - "comment": "Sink", - "parameters": [ - "java.lang.String[]" - ], - "return": "int", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/github.com\/PebbleTemplates\/pebble\/blob\/master\/src\/main\/java\/com\/mitchellbosecke\/pebble\/utils\/PathUtils.java", - "type": [ - "sanitizer" - ], - "cwe": [ - "CWE089", - "CWE078", - "CWE079", - "CWE601" - ], - "javadoc": { - "method": "", - "class": "Utility class to handle relative paths." - }, - "framework": "pebble", - "discovery": "manual", - "name": "com.mitchellbosecke.pebble.utils.PathUtils.sanitize", - "jar": null, - "comment": "", - "parameters": [ - "java.lang.String", - "char" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to return getRequestedSessionId() on the wrapped request object.", - "class": "Provides a convenient implementation of the HttpServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.HttpServletRequestWrapper.getRequestedSessionId", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/hc.apache.org\/httpcomponents-client-ga\/httpclient\/apidocs\/org\/apache\/http\/impl\/auth\/SPNegoScheme.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Produces SPNEGO authorization Header based on token created by processChallenge.", - "class": "SPNEGO (Simple and Protected GSSAPI Negotiation Mechanism) authentication scheme." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.http.impl.auth.SPNegoScheme.authenticate", - "jar": null, - "comment": "The authentication string is calculated from the credentials and returned as a header.", - "parameters": [ - "org.apache.http.auth.Credentials", - "org.apache.http.HttpRequest", - "org.apache.http.protocol.HttpContext" - ], - "return": "org.apache.http.Header", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring\/docs\/4.3.9.RELEASE\/javadoc-api\/org\/springframework\/mock\/web\/MockHttpServletRequest.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Use the container login mechanism configured for the ServletContext to authenticate the user making this request. This method may modify and commit the argument HttpServletResponse.", - "class": "Mock implementation of the {@link javax.servlet.http.HttpServletRequest} interface. The default, preferred {@link Locale} for the server mocked by this request is {@link Locale#ENGLISH}. This value can be changed via {@link #addPreferredLocale} or {@link #setPreferredLocales}. As of Spring Framework 4.0, this set of mocks is designed on a Servlet 3.0 baseline." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.mock.web.MockHttpServletRequest.authenticate", - "jar": null, - "comment": "The authentication is added to the response.", - "parameters": [ - "javax.servlet.http.HttpServletResponse" - ], - "return": "boolean", - "dataIn": { - "parameters": [ - 0, - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Returns a {@code String} value for an unescaped CSV column. If the value is enclosed in double quotes, and contains a comma, newline or double quote, then quotes are removed. Any double quote escaped characters (a pair of double quotes) are unescaped to just one double quote. If the value is not enclosed in double quotes, or is and does not contain a comma, newline or double quote, then the String value is returned unchanged. see Wikipedia and RFC 4180.", - "class": "Escapes and unescapes {@code String}s for Java, Java Script, HTML and XML. #ThreadSafe#" - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.apache.commons.lang3.StringEscapeUtils.unescapeCsv", - "jar": "commons-lang3-3.10.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/hc.apache.org\/httpclient-3.x\/apidocs\/org\/apache\/commons\/httpclient\/auth\/NTLMScheme.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Produces NTLM authorization string for the given set of {@link Credentials}.", - "class": "An implementation of the Microsoft proprietary NTLM authentication scheme. For a detailed explanation of the NTLM scheme please see http:\/\/davenport.sourceforge.net\/ntlm.html." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.commons.httpclient.auth.NTLMScheme.authenticate", - "jar": null, - "comment": "Depricated method. The credentials are provided. The authentication string is returned.", - "parameters": [ - "org.apache.commons.httpclient.Credentials", - "org.apache.commons.httpclient.HttpMethod" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Encoder for XML and XHTML text content. See {@link #forHtmlContent(String)} for description of encoding and context.", - "class": "Encode -- fluent interface for contextual encoding. Example usage in a JSP: \" \/>\n There are two versions of each contextual encoding method. The first takes a {@code String} argument and returns the encoded version as a {@code String}. The second version writes the encoded version directly to a {@code Writer}. Please make sure to read and understand the context that the method encodes for. Encoding for the incorrect context will likely lead to exposing a cross-site scripting vulnerability." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.owasp.encoder.Encode.forXmlContent", - "jar": "encoder-1.2.1.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Encode data for use in an XML element. The implementation should follow the XML Encoding Standard from the W3C. The use of a real XML parser is strongly encouraged. However, in the hopefully rare case that you need to make sure that data is safe for inclusion in an XML document and cannot use a parse, this method provides a safe mechanism to do so.", - "class": "Reference implementation of the Encoder interface. This implementation takes a whitelist approach to encoding, meaning that everything not specifically identified in a list of \"immune\" characters is encoded." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.owasp.esapi.reference.DefaultEncoder.encodeForXML", - "jar": "esapi-2.0_rc10.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/ws.apache.org\/xmlrpc\/apidocs\/org\/apache\/xmlrpc\/webserver\/RequestData.html", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Returns the request method.", - "class": "Web servers extension of {@link org.apache.xmlrpc.common.XmlRpcHttpRequestConfig}, which allows to store additional per request data." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xmlrpc.webserver.RequestData.getMethod", - "jar": null, - "comment": "Counter example for sanitizer.", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Turn special characters into HTML character references. Handles complete character set defined in HTML 4.01 recommendation. Escapes all special characters to their corresponding numeric reference in decimal format (&#Decimal;). Reference: http:\/\/www.w3.org\/TR\/html4\/sgml\/entities.html", - "class": "Utility class for HTML escaping. Escapes and unescapes based on the W3C HTML 4.01 recommendation, handling character entity references. Reference: http:\/\/www.w3.org\/TR\/html4\/charset.html For a comprehensive set of String escaping utilities, consider Apache Commons Lang and its StringEscapeUtils class. We are not using that class here to avoid a runtime dependency on Commons Lang just for HTML escaping. Furthermore, Spring's HTML escaping is more flexible and 100% HTML 4.0 compliant." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.springframework.web.util.HtmlUtils.htmlEscapeDecimal", - "jar": "spring-web-4.3.9.RELEASE.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "The default behavior of this method is to call sendError(int sc) on the wrapped response object.", - "class": "Provides a convenient implementation of the HttpServletResponse interface that can be subclassed by developers wishing to adapt the response from a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped response object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.HttpServletResponseWrapper.sendError", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [ - "int" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Encode data for insertion inside a data value in a Visual Basic script. Putting user data directly inside a script is quite dangerous. Great care must be taken to prevent putting user data directly into script code itself, as no amount of encoding will prevent attacks there. This method is not recommended as VBScript is only supported by Internet Explorer", - "class": "Reference implementation of the Encoder interface. This implementation takes a whitelist approach to encoding, meaning that everything not specifically identified in a list of \"immune\" characters is encoded." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.owasp.esapi.reference.DefaultEncoder.encodeForVBScript", - "jar": "esapi-2.0_rc10.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/github.com\/cyejing\/spring-framework-yj\/blob\/master\/spring-context\/src\/main\/java\/org\/springframework\/format\/datetime\/joda\/PeriodFormatter.java", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Parse a text String to produce a T.", - "class": "{@link Formatter} implementation for a Joda-Time {@link Period}, following Joda-Time's parsing rules for a Period." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.format.datetime.joda.PeriodFormatter.parse", - "jar": null, - "comment": "Counter example for sources.", - "parameters": [ - "java.lang.String", - "java.util.Locale" - ], - "return": "java.lang.Object", - "dataIn": { - "parameters": [ - 1 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Returns the name of the cookie. The name cannot be changed after creation.", - "class": "Creates a cookie, a small amount of information sent by a servlet to a Web browser, saved by the browser, and later sent back to the server. A cookie's value can uniquely identify a client, so cookies are commonly used for session management. A cookie has a name, a single value, and optional attributes such as a comment, path and domain qualifiers, a maximum age, and a version number. Some Web browsers have bugs in how they handle the optional attributes, so use them sparingly to improve the interoperability of your servlets. The servlet sends cookies to the browser by using the {@link HttpServletResponse#addCookie} method, which adds fields to HTTP response headers to send cookies to the browser, one at a time. The browser is expected to support 20 cookies for each Web server, 300 cookies total, and may limit cookie size to 4 KB each. The browser returns cookies to the servlet by adding fields to HTTP request headers. Cookies can be retrieved from a request by using the {@link HttpServletRequest#getCookies} method. Several cookies might have the same name but different path attributes. Cookies affect the caching of the Web pages that use them. HTTP 1.0 does not cache pages that use cookies created with this class. This class does not support the cache control defined with HTTP 1.1. This class supports both the Version 0 (by Netscape) and Version 1 (by RFC 2109) cookie specifications. By default, cookies are created using Version 0 to ensure the best interoperability." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.Cookie.getName", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE089" - ], - "javadoc": { - "method": "Find by primary key and lock. Search for an entity of the specified class and primary key and lock it with respect to the specified lock type. If the entity instance is contained in the persistence context, it is returned from there, and the effect of this method is the same as if the lock method had been called on the entity. If the entity is found within the persistence context and the lock mode type is pessimistic and the entity has a version attribute, the persistence provider must perform optimistic version checks when obtaining the database lock. If these checks fail, the OptimisticLockException will be thrown. If the lock mode type is pessimistic and the entity instance is found but cannot be locked: the PessimisticLockException will be thrown if the database locking failure causes transaction-level rollback the LockTimeoutException will be thrown if the database locking failure causes only statement-level rollback", - "class": "Concrete implementation of a Session. Exposes two interfaces: {@link org.hibernate.Session} to the application {@link org.hibernate.engine.spi.SessionImplementor} to other Hibernate components (SPI) This class is not thread-safe." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.hibernate.internal.SessionImpl.find", - "jar": "hibernate-core-5.2.10.Final.jar", - "comment": "", - "parameters": [ - "java.lang.Class", - "java.lang.Object", - "javax.persistence.LockModeType" - ], - "return": "java.lang.Object", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/github.com\/google\/google-auth-library-java\/blob\/master\/oauth2_http\/java\/com\/google\/auth\/oauth2\/DefaultCredentialsProvider.java", - "type": [ - "source" - ], - "cwe": [ - "CWE862" - ], - "javadoc": { - "method": "Returns the Application Default Credentials. Returns the Application Default Credentials which are credentials that identify and authorize the whole application. This is the built-in service account if running on Google Compute Engine or credentials specified by an environment variable or a file in a well-known location.", - "class": "Provides the Application Default Credential from the environment. An instance represents the per-process state used to get and cache the credential and allows overriding the state and environment for testing purposes." - }, - "framework": "oauth", - "discovery": "manual", - "name": "com.google.auth.oauth2.DefaultCredentialsProvider.getDefaultCredentials", - "jar": null, - "comment": "Source training set", - "parameters": [ - "com.google.api.client.http.HttpTransport" - ], - "return": "com.google.auth.oauth2.GoogleCredentials", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "http:\/\/help.collab.net\/topic\/iaf-700\/pebble-soap-javadocs\/net\/sourceforge\/pebble\/util\/SecurityUtils.html", - "type": [ - "auth-unsafe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "", - "class": "A collection of utility methods for security." - }, - "framework": "pebble", - "discovery": "manual", - "name": "net.sourceforge.pebble.util.SecurityUtils.runAsUnauthenticated", - "jar": null, - "comment": "Puts the state of the program to unauthenticated.", - "parameters": [], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Encodes for (X)HTML text content and text attributes. Since this method encodes for both contexts, it may be slightly less efficient to use this method over the methods targeted towards the specific contexts ({@link #forHtmlAttribute(String)} and {@link #forHtmlContent(String)}. In general this method should be preferred unless you are really concerned with saving a few bytes or are writing a framework that utilizes this package. Example JSP Usage \n\n \" \/>\n Encoding Table Input Result {@code &} {@code &} {@code } {@code >} {@code \"} {@code \"} {@code '} {@code '} Additional Notes The encoding of the greater-than sign ({@code >}) is not strictly required, but is included for maximum compatibility. Numeric encoding is used for double-quote character ({@code \"}) as it shorter than the also valid {@code \"}. Carriage return (U+0D), line-feed (U+0A), horizontal tab (U+09) and space (U+20) are valid in quoted attributes and in block in an unescaped form. Surrogate pairs are passed through only if valid. Characters that are not valid according to the XML specification are replaced by a space character as they could lead to parsing errors. In particular only {@code #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]} are considered valid.", - "class": "Encode -- fluent interface for contextual encoding. Example usage in a JSP: \" \/>\n There are two versions of each contextual encoding method. The first takes a {@code String} argument and returns the encoded version as a {@code String}. The second version writes the encoded version directly to a {@code Writer}. Please make sure to read and understand the context that the method encodes for. Encoding for the incorrect context will likely lead to exposing a cross-site scripting vulnerability." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.owasp.encoder.Encode.forHtml", - "jar": "encoder-1.2.1.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Log a FINER message. If the logger is currently enabled for the FINER message level then the given message is forwarded to all the registered output Handler objects.", - "class": "A Logger object is used to log messages for a specific system or application component. Loggers are normally named, using a hierarchical dot-separated namespace. Logger names can be arbitrary strings, but they should normally be based on the package name or class name of the logged component, such as java.net or javax.swing. In addition it is possible to create \"anonymous\" Loggers that are not stored in the Logger namespace. Logger objects may be obtained by calls on one of the getLogger factory methods. These will either create a new Logger or return a suitable existing Logger. It is important to note that the Logger returned by one of the {@code getLogger} factory methods may be garbage collected at any time if a strong reference to the Logger is not kept. Logging messages will be forwarded to registered Handler objects, which can forward the messages to a variety of destinations, including consoles, files, OS logs, etc. Each Logger keeps track of a \"parent\" Logger, which is its nearest existing ancestor in the Logger namespace. Each Logger has a \"Level\" associated with it. This reflects a minimum Level that this logger cares about. If a Logger's level is set to null, then its effective level is inherited from its parent, which may in turn obtain it recursively from its parent, and so on up the tree. The log level can be configured based on the properties from the logging configuration file, as described in the description of the LogManager class. However it may also be dynamically changed by calls on the Logger.setLevel method. If a logger's level is changed the change may also affect child loggers, since any child logger that has null as its level will inherit its effective level from its parent. On each logging call the Logger initially performs a cheap check of the request level (e.g., SEVERE or FINE) against the effective log level of the logger. If the request level is lower than the log level, the logging call returns immediately. After passing this initial (cheap) test, the Logger will allocate a LogRecord to describe the logging message. It will then call a Filter (if present) to do a more detailed check on whether the record should be published. If that passes it will then publish the LogRecord to its output Handlers. By default, loggers also publish to their parent's Handlers, recursively up the tree. Each Logger may have a {@code ResourceBundle} associated with it. The {@code ResourceBundle} may be specified by name, using the {@link #getLogger(java.lang.String, java.lang.String)} factory method, or by value - using the {@link #setResourceBundle(java.util.ResourceBundle) setResourceBundle} method. This bundle will be used for localizing logging messages. If a Logger does not have its own {@code ResourceBundle} or resource bundle name, then it will inherit the {@code ResourceBundle} or resource bundle name from its parent, recursively up the tree. Most of the logger output methods take a \"msg\" argument. This msg argument may be either a raw value or a localization key. During formatting, if the logger has (or inherits) a localization {@code ResourceBundle} and if the {@code ResourceBundle} has a mapping for the msg string, then the msg string is replaced by the localized value. Otherwise the original msg string is used. Typically, formatters use java.text.MessageFormat style formatting to format parameters, so for example a format string \"{0} {1}\" would format two parameters as strings. A set of methods alternatively take a \"msgSupplier\" instead of a \"msg\" argument. These methods take a {@link Supplier}{@code } function which is invoked to construct the desired log message only when the message actually is to be logged based on the effective log level thus eliminating unnecessary message construction. For example, if the developer wants to log system health status for diagnosis, with the String-accepting version, the code would look like: \n\n class DiagnosisMessages {\n static String systemHealthStatus() {\n \/\/ collect system health information\n ...\n }\n }\n ...\n logger.log(Level.FINER, DiagnosisMessages.systemHealthStatus());\n With the above code, the health status is collected unnecessarily even when the log level FINER is disabled. With the Supplier-accepting version as below, the status will only be collected when the log level FINER is enabled. \n\n logger.log(Level.FINER, DiagnosisMessages::systemHealthStatus);\n When looking for a {@code ResourceBundle}, the logger will first look at whether a bundle was specified using {@link #setResourceBundle(java.util.ResourceBundle) setResourceBundle}, and then only whether a resource bundle name was specified through the {@link #getLogger(java.lang.String, java.lang.String) getLogger} factory method. If no {@code ResourceBundle} or no resource bundle name is found, then it will use the nearest {@code ResourceBundle} or resource bundle name inherited from its parent tree. When a {@code ResourceBundle} was inherited or specified through the {@link #setResourceBundle(java.util.ResourceBundle) setResourceBundle} method, then that {@code ResourceBundle} will be used. Otherwise if the logger only has or inherited a resource bundle name, then that resource bundle name will be mapped to a {@code ResourceBundle} object, using the default Locale at the time of logging. When mapping resource bundle names to {@code ResourceBundle} objects, the logger will first try to use the Thread's {@linkplain java.lang.Thread#getContextClassLoader() context class loader} to map the given resource bundle name to a {@code ResourceBundle}. If the thread context class loader is {@code null}, it will try the {@linkplain java.lang.ClassLoader#getSystemClassLoader() system class loader} instead. If the {@code ResourceBundle} is still not found, it will use the class loader of the first caller of the {@link #getLogger(java.lang.String, java.lang.String) getLogger} factory method. Formatting (including localization) is the responsibility of the output Handler, which will typically call a Formatter. Note that formatting need not occur synchronously. It may be delayed until a LogRecord is actually written to an external sink. The logging methods are grouped in five main categories: There are a set of \"log\" methods that take a log level, a message string, and optionally some parameters to the message string. There are a set of \"logp\" methods (for \"log precise\") that are like the \"log\" methods, but also take an explicit source class name and method name. There are a set of \"logrb\" method (for \"log with resource bundle\") that are like the \"logp\" method, but also take an explicit resource bundle object for use in localizing the log message. There are convenience methods for tracing method entries (the \"entering\" methods), method returns (the \"exiting\" methods) and throwing exceptions (the \"throwing\" methods). Finally, there are a set of convenience methods for use in the very simplest cases, when a developer simply wants to log a simple string at a given log level. These methods are named after the standard Level names (\"severe\", \"warning\", \"info\", etc.) and take a single argument, a message string. For the methods that do not take an explicit source name and method name, the Logging framework will make a \"best effort\" to determine which class and method called into the logging method. However, it is important to realize that this automatically inferred information may only be approximate (or may even be quite wrong!). Virtual machines are allowed to do extensive optimizations when JITing and may entirely remove stack frames, making it impossible to reliably locate the calling class and method. All methods on Logger are multi-thread safe. Subclassing Information: Note that a LogManager class may provide its own implementation of named Loggers for any point in the namespace. Therefore, any subclasses of Logger (unless they are implemented in conjunction with a new LogManager class) should take care to obtain a Logger instance from the LogManager class and should delegate operations such as \"isLoggable\" and \"log(LogRecord)\" to that instance. Note that in order to intercept all logging output, subclasses need only override the log(LogRecord) method. All the other logging methods are implemented as calls on this log(LogRecord) method." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.util.logging.Logger.finer", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "http:\/\/grepcode.com\/file\/repo1.maven.org\/maven2\/xerces\/xerces\/2.4.0\/org\/apache\/xerces\/impl\/xs\/models\/XSDFACM.java?av=h", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Dumps the tree of the current node to standard output.", - "class": "DFAContentModel is the implementation of XSCMValidator that does all of the non-trivial element content validation. This class does the conversion from the regular expression to the DFA that it then uses in its validation algorithm." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xerces.impl.xs.models.XSDFACM.dumpTree", - "jar": null, - "comment": "Sink", - "parameters": [ - "org.apache.xerces.impl.dtd.models.CMNode", - "int" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/hc.apache.org\/httpcomponents-client-ga\/httpclient\/apidocs\/org\/apache\/http\/impl\/auth\/NegotiateScheme.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Produces Negotiate authorization Header based on token created by processChallenge.", - "class": "SPNEGO (Simple and Protected GSSAPI Negotiation Mechanism) authentication scheme." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.http.impl.auth.NegotiateScheme.authenticate", - "jar": null, - "comment": "Produces an authentication string for the given credentials.", - "parameters": [ - "org.apache.http.auth.Credentials", - "org.apache.http.HttpRequest", - "org.apache.http.protocol.HttpContext" - ], - "return": "org.apache.http.Header", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Performs percent-encoding for a component of a URI, such as a query parameter name or value, path or query-string. In particular this method insures that special characters in the component do not get interpreted as part of another component. ?query#fragment\">\n\n &order=1#top\">\n Encoding Table The following characters are not encoded: U+20: - . 0 1 2 3 4 5 6 7 8 9\n U+40: @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z _\n U+60: a b c d e f g h i j k l m n o p q r s t u v w x y z ~\n Encoding Notes Unlike {@link #forUri(String)} this method is safe to be used in most containing contexts, including: HTML\/XML, CSS, and JavaScript contexts. URL encoding is an encoding for bytes, not unicode. The input string is thus first encoded as a sequence of UTF-8 byte. The bytes are then encoded as {@code %xx} where {@code xx} is the two-digit hexidecimal representation of the byte. (The implementation does this as one step for performance.) Surrogate pairs are first decoded to a Unicode code point before encoding as UTF-8. Invalid characters (e.g. partial or invalid surrogate pairs), are replaced with a hyphen ({@code -}) character.", - "class": "Encode -- fluent interface for contextual encoding. Example usage in a JSP: \" \/>\n There are two versions of each contextual encoding method. The first takes a {@code String} argument and returns the encoded version as a {@code String}. The second version writes the encoded version directly to a {@code Writer}. Please make sure to read and understand the context that the method encodes for. Encoding for the incorrect context will likely lead to exposing a cross-site scripting vulnerability." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.owasp.encoder.Encode.forUriComponent", - "jar": "encoder-1.2.1.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/shiro.apache.org\/static\/1.2.6\/apidocs\/org\/apache\/shiro\/mgt\/DefaultSecurityManager.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "First authenticates the {@code AuthenticationToken} argument, and if successful, constructs a {@code Subject} instance representing the authenticated account's identity. Once constructed, the {@code Subject} instance is then {@link #bind bound} to the application for subsequent access before being returned to the caller.", - "class": "The Shiro framework's default concrete implementation of the {@link SecurityManager} interface, based around a collection of {@link org.apache.shiro.realm.Realm}s. This implementation delegates its authentication, authorization, and session operations to wrapped {@link Authenticator}, {@link Authorizer}, and {@link org.apache.shiro.session.mgt.SessionManager SessionManager} instances respectively via superclass implementation. To greatly reduce and simplify configuration, this implementation (and its superclasses) will create suitable defaults for all of its required dependencies, except the required one or more {@link Realm Realm}s. Because {@code Realm} implementations usually interact with an application's data model, they are almost always application specific; you will want to specify at least one custom {@code Realm} implementation that 'knows' about your application's data\/security model (via {@link #setRealm} or one of the overloaded constructors). All other attributes in this class hierarchy will have suitable defaults for most enterprise applications. RememberMe notice: This class supports the ability to configure a {@link #setRememberMeManager RememberMeManager} for {@code RememberMe} identity services for login\/logout, BUT, a default instance will not be created for this attribute at startup. Because RememberMe services are inherently client tier-specific and therefore aplication-dependent, if you want {@code RememberMe} services enabled, you will have to specify an instance yourself via the {@link #setRememberMeManager(RememberMeManager) setRememberMeManager} mutator. However if you're reading this JavaDoc with the expectation of operating in a Web environment, take a look at the {@code org.apache.shiro.web.DefaultWebSecurityManager} implementation, which does support {@code RememberMe} services by default at startup." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.shiro.mgt.DefaultSecurityManager.login", - "jar": null, - "comment": "Login the specified subject with the tocken and return the subject.", - "parameters": [ - "org.apache.shiro.subject.Subject", - "org.apache.shiro.authc.AuthenticationToken" - ], - "return": "org.apache.shiro.subject.Subject", - "dataIn": { - "parameters": [ - 0, - 1 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring\/docs\/current\/javadoc-api\/org\/springframework\/jdbc\/core\/JdbcTemplate.html", - "type": [ - "sink" - ], - "cwe": [ - "CWE089" - ], - "javadoc": { - "method": "Execute a query given static SQL, reading the ResultSet with a ResultSetExtractor. Uses a JDBC Statement, not a PreparedStatement. If you want to execute a static query with a PreparedStatement, use the overloaded {@code query} method with {@code null} as argument array.", - "class": "This is the central class in the JDBC core package. It simplifies the use of JDBC and helps to avoid common errors. It executes core JDBC workflow, leaving application code to provide SQL and extract results. This class executes SQL queries or updates, initiating iteration over ResultSets and catching JDBC exceptions and translating them to the generic, more informative exception hierarchy defined in the org.springframework.dao package. Code using this class need only implement callback interfaces, giving them a clearly defined contract. The {@link PreparedStatementCreator} callback interface creates a prepared statement given a Connection, providing SQL and any necessary parameters. The {@link ResultSetExtractor} interface extracts values from a ResultSet. See also {@link PreparedStatementSetter} and {@link RowMapper} for two popular alternative callback interfaces. Can be used within a service implementation via direct instantiation with a DataSource reference, or get prepared in an application context and given to services as bean reference. Note: The DataSource should always be configured as a bean in the application context, in the first case given to the service directly, in the second case to the prepared template. Because this class is parameterizable by the callback interfaces and the {@link org.springframework.jdbc.support.SQLExceptionTranslator} interface, there should be no need to subclass it. All SQL operations performed by this class are logged at debug level, using \"org.springframework.jdbc.core.JdbcTemplate\" as log category." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.jdbc.core.JdbcTemplate.query", - "jar": null, - "comment": "sql query", - "parameters": [ - "java.lang.String", - "org.springframework.jdbc.core.ResultSetExtractor" - ], - "return": "java.lang.Object", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/spring-security\/site\/docs\/current\/apidocs\/org\/springframework\/security\/config\/annotation\/web\/configurers\/UrlAuthorizationConfigurer.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "Creates a String for specifying a user requires a role.", - "class": "Adds URL based authorization using {@link DefaultFilterInvocationSecurityMetadataSource}. At least one {@link org.springframework.web.bind.annotation.RequestMapping} needs to be mapped to {@link ConfigAttribute}'s for this {@link SecurityContextConfigurer} to have meaning. Security Filters Usage includes applying the {@link UrlAuthorizationConfigurer} and then modifying the StandardInterceptUrlRegistry. For example: protected void configure(HttpSecurity http) throws Exception {\n \thttp.apply(new UrlAuthorizationConfigurer()).getRegistry()\n \t\t\t.antMatchers(\"\/users**\", \"\/sessions\/**\").hasRole(\"USER\")\n \t\t\t.antMatchers(\"\/signup\").hasRole(\"ANONYMOUS\").anyRequest().hasRole(\"USER\");\n }\n The following Filters are populated {@link org.springframework.security.web.access.intercept.FilterSecurityInterceptor} Shared Objects Created The following shared objects are populated to allow other {@link org.springframework.security.config.annotation.SecurityConfigurer}'s to customize: {@link org.springframework.security.web.access.intercept.FilterSecurityInterceptor} Shared Objects Used The following shared objects are used: AuthenticationManager" - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.config.annotation.web.configurers.UrlAuthorizationConfigurer.hasRole", - "jar": null, - "comment": "Counter example for sanitizer (has)", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "http:\/\/docs.spring.io\/autorepo\/docs\/spring-security\/3.1.8.CI-SNAPSHOT\/apidocs\/org\/springframework\/security\/authentication\/AnonymousAuthenticationProvider.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Performs authentication with the same contract as {@link org.springframework.security.authentication.AuthenticationManager#authenticate(Authentication)} .", - "class": "An {@link AuthenticationProvider} implementation that validates {@link AnonymousAuthenticationToken}s. To be successfully validated, the {@link AnonymousAuthenticationToken#getKeyHash()} must match this class' {@link #getKey()}." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.authentication.AnonymousAuthenticationProvider.authenticate", - "jar": null, - "comment": "The input object is authenticated and returned.", - "parameters": [ - "org.springframework.security.core.Authentication" - ], - "return": "org.springframework.security.core.Authentication", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Returns the selected text from the text that is presented by this text component.", - "class": "The TextComponent class is the superclass of any component that allows the editing of some text. A text component embodies a string of text. The TextComponent class defines a set of methods that determine whether or not this text is editable. If the component is editable, it defines another set of methods that supports a text insertion caret. In addition, the class defines methods that are used to maintain a current selection from the text. The text selection, a substring of the component's text, is the target of editing operations. It is also referred to as the selected text." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.awt.TextComponent.getSelectedText", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Returns the comment describing the purpose of this cookie, or null if the cookie has no comment.", - "class": "Creates a cookie, a small amount of information sent by a servlet to a Web browser, saved by the browser, and later sent back to the server. A cookie's value can uniquely identify a client, so cookies are commonly used for session management. A cookie has a name, a single value, and optional attributes such as a comment, path and domain qualifiers, a maximum age, and a version number. Some Web browsers have bugs in how they handle the optional attributes, so use them sparingly to improve the interoperability of your servlets. The servlet sends cookies to the browser by using the {@link HttpServletResponse#addCookie} method, which adds fields to HTTP response headers to send cookies to the browser, one at a time. The browser is expected to support 20 cookies for each Web server, 300 cookies total, and may limit cookie size to 4 KB each. The browser returns cookies to the servlet by adding fields to HTTP request headers. Cookies can be retrieved from a request by using the {@link HttpServletRequest#getCookies} method. Several cookies might have the same name but different path attributes. Cookies affect the caching of the Web pages that use them. HTTP 1.0 does not cache pages that use cookies created with this class. This class does not support the cache control defined with HTTP 1.1. This class supports both the Version 0 (by Netscape) and Version 1 (by RFC 2109) cookie specifications. By default, cookies are created using Version 0 to ensure the best interoperability." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.Cookie.getComment", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "Prints an integer. The string produced by {@link java.lang.String#valueOf(int)} is translated into bytes according to the platform's default character encoding, and these bytes are written in exactly the manner of the {@link #write(int)} method.", - "class": "Prints formatted representations of objects to a text-output stream. This class implements all of the print methods found in {@link PrintStream}. It does not contain methods for writing raw bytes, for which a program should use unencoded byte streams. Unlike the {@link PrintStream} class, if automatic flushing is enabled it will be done only when one of the println, printf, or format methods is invoked, rather than whenever a newline character happens to be output. These methods use the platform's own notion of line separator rather than the newline character. Methods in this class never throw I\/O exceptions, although some of its constructors may. The client may inquire as to whether any errors have occurred by invoking {@link #checkError checkError()}." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.io.PrintWriter.print", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "int" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.apache.wicket.protocol.http.ClientProperties.getNavigatorAppCodeName", - "jar": "wicket-core-7.8.0.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [], - "cwe": [], - "javadoc": { - "method": "", - "class": "The {@link WebServer} is a minimal HTTP server, that might be used as an embedded web server. Use of the {@link WebServer} has grown very popular amongst users of Apache XML-RPC. Why this is the case, can hardly be explained, because the {@link WebServer} is at best a workaround, compared to full blown servlet engines like Tomcat or Jetty. For example, under heavy load it will almost definitely be slower than a real servlet engine, because it does neither support proper keepalive (multiple requests per physical connection) nor chunked mode (in other words, it cannot stream requests). If you still insist in using the {@link WebServer}, it is recommended to use its subclass, the {@link ServletWebServer} instead, which offers a minimal subset of the servlet API. In other words, you keep yourself the option to migrate to a real servlet engine later. Use of the {@link WebServer} goes roughly like this: First of all, create a property file (for example \"MyHandlers.properties\") and add it to your jar file. The property keys are handler names and the property values are the handler classes. Once that is done, create an instance of WebServer: final int port = 8088;\n final String propertyFile = \"MyHandler.properties\";\n\n PropertyHandlerMapping mapping = new PropertyHandlerMapping();\n ClassLoader cl = Thread.currentThread().getContextClassLoader();\n mapping.load(cl, propertyFile);\n WebServer webServer = new WebServer(port);\n XmlRpcServerConfigImpl config = new XmlRpcServerConfigImpl();\n XmlRpcServer server = webServer.getXmlRpcServer();\n server.setConfig(config);\n server.setHandlerMapping(mapping);\n webServer.start();" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xmlrpc.webserver.WebServer.newThreadPool", - "jar": null, - "comment": "Counter example for source", - "parameters": [], - "return": "org.apache.xmlrpc.util.ThreadPool", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Construct an InternetAddress given the address and personal name. The address is assumed to be a syntactically valid RFC822 address.", - "class": "This class represents an Internet email address using the syntax of RFC822. Typical address syntax is of the form \"user@host.domain\" or \"Personal Name \"." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.mail.internet.InternetAddress.", - "jar": "org.apache.stratos.cli-4.0.0.jar", - "comment": "", - "parameters": [ - "java.lang.String", - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "The default behavior of this method is to return addHeader(String name, String value) on the wrapped response object.", - "class": "Provides a convenient implementation of the HttpServletResponse interface that can be subclassed by developers wishing to adapt the response from a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped response object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.HttpServletResponseWrapper.addHeader", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [ - "java.lang.String", - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/jsoup.org\/apidocs\/org\/jsoup\/nodes\/Entities.html", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Un-escape an HTML escaped string.", - "class": "HTML entities, and escape routines. Source: W3C HTML named character references." - }, - "framework": "jsoup", - "discovery": "manual", - "name": "org.jsoup.nodes.Entities.unescape", - "jar": null, - "comment": "Counter example for sanitizer (unescape)", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring-framework\/docs\/current\/javadoc-api\/org\/springframework\/mock\/web\/MockBodyContent.html", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Print a String and then terminate the line. This method behaves as though it invokes {@link #print(String)} and then {@link #println()}.", - "class": "Mock implementation of the {@link javax.servlet.jsp.tagext.BodyContent} class. Used for testing the web framework; only necessary for testing applications when testing custom JSP tags." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.mock.web.MockBodyContent.println", - "jar": null, - "comment": "Sink", - "parameters": [ - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/ws.apache.org\/xmlrpc\/apidocs\/org\/apache\/xmlrpc\/server\/XmlRpcServerWorker.html", - "type": [ - "sink" - ], - "cwe": [ - "CWE078", - "CWE079" - ], - "javadoc": { - "method": "Performs a synchronous request. The client worker extends this interface with the ability to perform asynchronous requests.", - "class": "Server specific implementation of {@link XmlRpcWorker}." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xmlrpc.server.XmlRpcServerWorker.execute", - "jar": null, - "comment": "Sink", - "parameters": [ - "org.apache.xmlrpc.XmlRpcRequest" - ], - "return": "java.lang.Object", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/hc.apache.org\/httpclient-3.x\/apidocs\/org\/apache\/commons\/httpclient\/auth\/BasicScheme.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Produces basic authorization string for the given set of {@link Credentials}.", - "class": "Basic authentication scheme as defined in RFC 2617." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.commons.httpclient.auth.BasicScheme.authenticate", - "jar": null, - "comment": "When the input is true, the tocken should be trusted.", - "parameters": [ - "org.apache.commons.httpclient.Credentials", - "java.lang.String", - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/ws.apache.org\/xmlrpc\/apidocs\/org\/apache\/xmlrpc\/webserver\/WebServer.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "Listens for client requests until stopped. Call {@link #start()} to invoke this method, and {@link #shutdown()} to break out of it.", - "class": "The {@link WebServer} is a minimal HTTP server, that might be used as an embedded web server. Use of the {@link WebServer} has grown very popular amongst users of Apache XML-RPC. Why this is the case, can hardly be explained, because the {@link WebServer} is at best a workaround, compared to full blown servlet engines like Tomcat or Jetty. For example, under heavy load it will almost definitely be slower than a real servlet engine, because it does neither support proper keepalive (multiple requests per physical connection) nor chunked mode (in other words, it cannot stream requests). If you still insist in using the {@link WebServer}, it is recommended to use its subclass, the {@link ServletWebServer} instead, which offers a minimal subset of the servlet API. In other words, you keep yourself the option to migrate to a real servlet engine later. Use of the {@link WebServer} goes roughly like this: First of all, create a property file (for example \"MyHandlers.properties\") and add it to your jar file. The property keys are handler names and the property values are the handler classes. Once that is done, create an instance of WebServer: final int port = 8088;\n final String propertyFile = \"MyHandler.properties\";\n\n PropertyHandlerMapping mapping = new PropertyHandlerMapping();\n ClassLoader cl = Thread.currentThread().getContextClassLoader();\n mapping.load(cl, propertyFile);\n WebServer webServer = new WebServer(port);\n XmlRpcServerConfigImpl config = new XmlRpcServerConfigImpl();\n XmlRpcServer server = webServer.getXmlRpcServer();\n server.setConfig(config);\n server.setHandlerMapping(mapping);\n webServer.start();" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xmlrpc.webserver.WebServer.run", - "jar": null, - "comment": "Counter example for sink", - "parameters": [], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/github.com\/spring-projects\/spring-security\/blob\/master\/config\/src\/main\/java\/org\/springframework\/security\/config\/http\/FormLoginBeanDefinitionParser.java", - "type": [ - "source" - ], - "cwe": [ - "CWE079", - "CWE601" - ], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.config.http.FormLoginBeanDefinitionParser.getLoginPage", - "jar": null, - "comment": "Counter example for authentications and cwe306", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/spring\/docs\/current\/javadoc-api\/org\/springframework\/util\/DefaultPropertiesPersister.html", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "", - "class": "Default implementation of the {@link PropertiesPersister} interface. Follows the native parsing of java.util.Properties. Allows for reading from any Reader and writing to any Writer, for example to specify a charset for a properties file. This is a capability that standard java.util.Properties unfortunately lacks up until JDK 1.5: You can only load files using the ISO-8859-1 charset there. Loading from and storing to a stream delegates to Properties.load and Properties.store, respectively, to be fully compatible with the Unicode conversion as implemented by the JDK Properties class. On JDK 1.6, Properties.load\/store will also be used for readers\/writers, effectively turning this class into a plain backwards compatibility adapter. The persistence code that works with Reader\/Writer follows the JDK's parsing strategy but does not implement Unicode conversion, because the Reader\/Writer should already apply proper decoding\/encoding of characters. If you use prefer to escape unicode characters in your properties files, do not specify an encoding for a Reader\/Writer (like ReloadableResourceBundleMessageSource's \"defaultEncoding\" and \"fileEncodings\" properties). As of Spring 1.2.2, this implementation also supports properties XML files, through the loadFromXml and storeToXml methods. The default implementations delegate to JDK 1.5's corresponding methods, throwing an exception if running on an older JDK. Those implementations could be subclassed to apply custom XML handling on JDK 1.4, for example." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.util.DefaultPropertiesPersister.unescape", - "jar": null, - "comment": "Counter example for sanitizer (unescape)", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "loadFiles.", - "class": "Plugin class." - }, - "framework": "webgoat", - "discovery": "manual", - "name": "org.owasp.webgoat.plugins.Plugin.loadFiles", - "jar": null, - "comment": "Source training set", - "parameters": [ - "java.nio.file.Path" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Returns the text that is presented by this text component. By default, this is an empty string.", - "class": "The TextComponent class is the superclass of any component that allows the editing of some text. A text component embodies a string of text. The TextComponent class defines a set of methods that determine whether or not this text is editable. If the component is editable, it defines another set of methods that supports a text insertion caret. In addition, the class defines methods that are used to maintain a current selection from the text. The text selection, a substring of the component's text, is the target of editing operations. It is also referred to as the selected text." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.awt.TextComponent.getText", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Returns a String containing the value of the named initialization parameter, or null if the parameter does not exist. See {@link ServletConfig#getInitParameter}. This method is supplied for convenience. It gets the value of the named parameter from the servlet's ServletConfig object.", - "class": "Defines a generic, protocol-independent servlet. To write an HTTP servlet for use on the Web, extend {@link javax.servlet.http.HttpServlet} instead. GenericServlet implements the Servlet and ServletConfig interfaces. GenericServlet may be directly extended by a servlet, although it's more common to extend a protocol-specific subclass such as HttpServlet. GenericServlet makes writing servlets easier. It provides simple versions of the lifecycle methods init and destroy and of the methods in the ServletConfig interface. GenericServlet also implements the log method, declared in the ServletContext interface. To write a generic servlet, you need only override the abstract service method." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.GenericServlet.getInitParameter", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/static.javadoc.io\/org.owasp.esapi\/esapi\/2.0.1\/org\/owasp\/esapi\/Encoder.html", - "type": [ - "sanitizer" - ], - "cwe": [ - "CWE089", - "CWE078", - "CWE079", - "CWE601" - ], - "javadoc": { - "method": "Encode for Base64.", - "class": "Reference implementation of the Encoder interface. This implementation takes a whitelist approach to encoding, meaning that everything not specifically identified in a list of \"immune\" characters is encoded." - }, - "framework": "owaspesapi", - "discovery": "manual", - "name": "org.owasp.esapi.reference.DefaultEncoder.encodeForBase64", - "jar": null, - "comment": "", - "parameters": [ - "byte[]", - "boolean" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "The default behavior of this method is to return setHeader(String name, String value) on the wrapped response object.", - "class": "Provides a convenient implementation of the HttpServletResponse interface that can be subclassed by developers wishing to adapt the response from a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped response object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.HttpServletResponseWrapper.setHeader", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [ - "java.lang.String", - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring\/docs\/current\/javadoc-api\/org\/springframework\/jca\/work\/DelegatingWork.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "Delegates execution to the underlying Runnable.", - "class": "Simple Work adapter that delegates to a given Runnable." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.jca.work.DelegatingWork.run", - "jar": null, - "comment": "Counter example for sink", - "parameters": [], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Encodes for CSS strings. The context must be surrounded by quotation characters. It is safe for use in both style blocks and attributes in HTML. Example JSP Usage ');\">\n\n \n background: url('');\n \n Encoding Notes The following characters are encoded using hexidecimal encodings: {@code U+0000} - {@code U+001f}, {@code \"}, {@code '}, {@code \\}, {@code }, {@code U+007f}, line separator ({@code U+2028}), paragraph separator ({@code U+2029}). Any character requiring encoding is encoded as {@code \\xxx} where {@code xxx} is the shortest hexidecimal representation of its Unicode code point (after decoding surrogate pairs if necessary). This encoding is never zero padded. Thus, for example, the tab character is encoded as {@code \\9}, not {@code \\0009}. The encoder looks ahead 1 character in the input and appends a space to an encoding to avoid the next character becoming part of the hexidecimal encoded sequence. Thus \u201C{@code '1}\u201D is encoded as \u201C{@code \\27 1}\u201D, and not as \u201C{@code \\271}\u201D. If a space is not necessary, it is not included, thus \u201C{@code 'x}\u201D is encoded as \u201C{@code \\27x}\u201D, and not as \u201C{@code \\27 x}\u201D. Surrogate pairs are passed through only if valid. Invalid surrogate pairs are replaced by an underscore (_). Unicode \"non-characters\" are replaced by underscores (_).", - "class": "Encode -- fluent interface for contextual encoding. Example usage in a JSP: \" \/>\n There are two versions of each contextual encoding method. The first takes a {@code String} argument and returns the encoded version as a {@code String}. The second version writes the encoded version directly to a {@code Writer}. Please make sure to read and understand the context that the method encodes for. Encoding for the incorrect context will likely lead to exposing a cross-site scripting vulnerability." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.owasp.encoder.Encode.forCssString", - "jar": "encoder-1.2.1.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/spring-security\/site\/docs\/current\/apidocs\/org\/springframework\/security\/config\/annotation\/web\/messaging\/MessageSecurityMetadataSourceRegistry.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "", - "class": "Allows mapping security constraints using {@link MessageMatcher} to the security expressions." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.config.annotation.web.messaging.MessageSecurityMetadataSourceRegistry.hasAuthority", - "jar": null, - "comment": "Counter example for sanitizer (has)", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Log a FINEST message. If the logger is currently enabled for the FINEST message level then the given message is forwarded to all the registered output Handler objects.", - "class": "A Logger object is used to log messages for a specific system or application component. Loggers are normally named, using a hierarchical dot-separated namespace. Logger names can be arbitrary strings, but they should normally be based on the package name or class name of the logged component, such as java.net or javax.swing. In addition it is possible to create \"anonymous\" Loggers that are not stored in the Logger namespace. Logger objects may be obtained by calls on one of the getLogger factory methods. These will either create a new Logger or return a suitable existing Logger. It is important to note that the Logger returned by one of the {@code getLogger} factory methods may be garbage collected at any time if a strong reference to the Logger is not kept. Logging messages will be forwarded to registered Handler objects, which can forward the messages to a variety of destinations, including consoles, files, OS logs, etc. Each Logger keeps track of a \"parent\" Logger, which is its nearest existing ancestor in the Logger namespace. Each Logger has a \"Level\" associated with it. This reflects a minimum Level that this logger cares about. If a Logger's level is set to null, then its effective level is inherited from its parent, which may in turn obtain it recursively from its parent, and so on up the tree. The log level can be configured based on the properties from the logging configuration file, as described in the description of the LogManager class. However it may also be dynamically changed by calls on the Logger.setLevel method. If a logger's level is changed the change may also affect child loggers, since any child logger that has null as its level will inherit its effective level from its parent. On each logging call the Logger initially performs a cheap check of the request level (e.g., SEVERE or FINE) against the effective log level of the logger. If the request level is lower than the log level, the logging call returns immediately. After passing this initial (cheap) test, the Logger will allocate a LogRecord to describe the logging message. It will then call a Filter (if present) to do a more detailed check on whether the record should be published. If that passes it will then publish the LogRecord to its output Handlers. By default, loggers also publish to their parent's Handlers, recursively up the tree. Each Logger may have a {@code ResourceBundle} associated with it. The {@code ResourceBundle} may be specified by name, using the {@link #getLogger(java.lang.String, java.lang.String)} factory method, or by value - using the {@link #setResourceBundle(java.util.ResourceBundle) setResourceBundle} method. This bundle will be used for localizing logging messages. If a Logger does not have its own {@code ResourceBundle} or resource bundle name, then it will inherit the {@code ResourceBundle} or resource bundle name from its parent, recursively up the tree. Most of the logger output methods take a \"msg\" argument. This msg argument may be either a raw value or a localization key. During formatting, if the logger has (or inherits) a localization {@code ResourceBundle} and if the {@code ResourceBundle} has a mapping for the msg string, then the msg string is replaced by the localized value. Otherwise the original msg string is used. Typically, formatters use java.text.MessageFormat style formatting to format parameters, so for example a format string \"{0} {1}\" would format two parameters as strings. A set of methods alternatively take a \"msgSupplier\" instead of a \"msg\" argument. These methods take a {@link Supplier}{@code } function which is invoked to construct the desired log message only when the message actually is to be logged based on the effective log level thus eliminating unnecessary message construction. For example, if the developer wants to log system health status for diagnosis, with the String-accepting version, the code would look like: \n\n class DiagnosisMessages {\n static String systemHealthStatus() {\n \/\/ collect system health information\n ...\n }\n }\n ...\n logger.log(Level.FINER, DiagnosisMessages.systemHealthStatus());\n With the above code, the health status is collected unnecessarily even when the log level FINER is disabled. With the Supplier-accepting version as below, the status will only be collected when the log level FINER is enabled. \n\n logger.log(Level.FINER, DiagnosisMessages::systemHealthStatus);\n When looking for a {@code ResourceBundle}, the logger will first look at whether a bundle was specified using {@link #setResourceBundle(java.util.ResourceBundle) setResourceBundle}, and then only whether a resource bundle name was specified through the {@link #getLogger(java.lang.String, java.lang.String) getLogger} factory method. If no {@code ResourceBundle} or no resource bundle name is found, then it will use the nearest {@code ResourceBundle} or resource bundle name inherited from its parent tree. When a {@code ResourceBundle} was inherited or specified through the {@link #setResourceBundle(java.util.ResourceBundle) setResourceBundle} method, then that {@code ResourceBundle} will be used. Otherwise if the logger only has or inherited a resource bundle name, then that resource bundle name will be mapped to a {@code ResourceBundle} object, using the default Locale at the time of logging. When mapping resource bundle names to {@code ResourceBundle} objects, the logger will first try to use the Thread's {@linkplain java.lang.Thread#getContextClassLoader() context class loader} to map the given resource bundle name to a {@code ResourceBundle}. If the thread context class loader is {@code null}, it will try the {@linkplain java.lang.ClassLoader#getSystemClassLoader() system class loader} instead. If the {@code ResourceBundle} is still not found, it will use the class loader of the first caller of the {@link #getLogger(java.lang.String, java.lang.String) getLogger} factory method. Formatting (including localization) is the responsibility of the output Handler, which will typically call a Formatter. Note that formatting need not occur synchronously. It may be delayed until a LogRecord is actually written to an external sink. The logging methods are grouped in five main categories: There are a set of \"log\" methods that take a log level, a message string, and optionally some parameters to the message string. There are a set of \"logp\" methods (for \"log precise\") that are like the \"log\" methods, but also take an explicit source class name and method name. There are a set of \"logrb\" method (for \"log with resource bundle\") that are like the \"logp\" method, but also take an explicit resource bundle object for use in localizing the log message. There are convenience methods for tracing method entries (the \"entering\" methods), method returns (the \"exiting\" methods) and throwing exceptions (the \"throwing\" methods). Finally, there are a set of convenience methods for use in the very simplest cases, when a developer simply wants to log a simple string at a given log level. These methods are named after the standard Level names (\"severe\", \"warning\", \"info\", etc.) and take a single argument, a message string. For the methods that do not take an explicit source name and method name, the Logging framework will make a \"best effort\" to determine which class and method called into the logging method. However, it is important to realize that this automatically inferred information may only be approximate (or may even be quite wrong!). Virtual machines are allowed to do extensive optimizations when JITing and may entirely remove stack frames, making it impossible to reliably locate the calling class and method. All methods on Logger are multi-thread safe. Subclassing Information: Note that a LogManager class may provide its own implementation of named Loggers for any point in the namespace. Therefore, any subclasses of Logger (unless they are implemented in conjunction with a new LogManager class) should take care to obtain a Logger instance from the LogManager class and should delegate operations such as \"isLoggable\" and \"log(LogRecord)\" to that instance. Note that in order to intercept all logging output, subclasses need only override the log(LogRecord) method. All the other logging methods are implemented as calls on this log(LogRecord) method." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.util.logging.Logger.finest", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Returns a {@code Field} object that reflects the specified public member field of the class or interface represented by this {@code Class} object. The {@code name} parameter is a {@code String} specifying the simple name of the desired field. The field to be reflected is determined by the algorithm that follows. Let C be the class or interface represented by this object: If C declares a public field with the name specified, that is the field to be reflected. If no field was found in step 1 above, this algorithm is applied recursively to each direct superinterface of C. The direct superinterfaces are searched in the order they were declared. If no field was found in steps 1 and 2 above, and C has a superclass S, then this algorithm is invoked recursively upon S. If C has no superclass, then a {@code NoSuchFieldException} is thrown. If this {@code Class} object represents an array type, then this method does not find the {@code length} field of the array type.", - "class": "Instances of the class {@code Class} represent classes and interfaces in a running Java application. An enum is a kind of class and an annotation is a kind of interface. Every array also belongs to a class that is reflected as a {@code Class} object that is shared by all arrays with the same element type and number of dimensions. The primitive Java types ({@code boolean}, {@code byte}, {@code char}, {@code short}, {@code int}, {@code long}, {@code float}, and {@code double}), and the keyword {@code void} are also represented as {@code Class} objects. {@code Class} has no public constructor. Instead {@code Class} objects are constructed automatically by the Java Virtual Machine as classes are loaded and by calls to the {@code defineClass} method in the class loader. The following example uses a {@code Class} object to print the class name of an object: void printClassName(Object obj) {\n System.out.println(\"The class of \" + obj +\n \" is \" + obj.getClass().getName());\n }\n It is also possible to get the {@code Class} object for a named type (or for void) using a class literal. See Section 15.8.2 of The Java™ Language Specification. For example: {@code System.out.println(\"The name of class Foo is: \"+Foo.class.getName());}" - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.lang.Class.getField", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.reflect.Field", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/static.javadoc.io\/org.owasp.esapi\/esapi\/2.0.1\/org\/owasp\/esapi\/reference\/validation\/CreditCardValidationRule.html", - "type": [ - "sanitizer" - ], - "cwe": [ - "CWE079", - "CWE601" - ], - "javadoc": { - "method": "The method is similar to ValidationRuile.getSafe except that it returns a harmless object that may or may not have any similarity to the original input (in some cases you may not care). In most cases this should be the same as the getSafe method only instead of throwing an exception, return some default value.", - "class": "A validator performs syntax and possibly semantic validation of a single piece of data from an untrusted source." - }, - "framework": "owaspesapi", - "discovery": "manual", - "name": "org.owasp.esapi.reference.validation.HTMLValidationRule.sanitize", - "jar": null, - "comment": "", - "parameters": [ - "java.lang.String", - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 1 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/spring-security\/site\/docs\/4.0.0.RELEASE\/apidocs\/org\/springframework\/security\/config\/annotation\/authentication\/builders\/AuthenticationManagerBuilder.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE306" - ], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder.ldapAuthentication", - "jar": null, - "comment": "Authentication to LDAP. The owner of the return object can manipulate users to a LDAP connection.", - "parameters": [], - "return": "org.springframework.security.config.'annotation'.authentication.configurers.ldap.LdapAuthenticationProviderConfigurer", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/hc.apache.org\/httpcomponents-client-ga\/httpclient\/apidocs\/org\/apache\/http\/impl\/auth\/DigestScheme.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Produces a digest authorization string for the given set of {@link Credentials}, method name and URI.", - "class": "Digest authentication scheme as defined in RFC 2617. Both MD5 (default) and MD5-sess are supported. Currently only qop=auth or no qop is supported. qop=auth-int is unsupported. If auth and auth-int are provided, auth is used. Credential charset is configured via the {@link org.apache.commons.httpclient.params.HttpMethodParams#CREDENTIAL_CHARSET credential charset} parameter. Since the digest username is included as clear text in the generated Authentication header, the charset of the username must be compatible with the {@link org.apache.commons.httpclient.params.HttpMethodParams#HTTP_ELEMENT_CHARSET http element charset}. TODO: make class more stateful regarding repeated authentication requests" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.commons.httpclient.auth.DigestScheme.authenticate", - "jar": null, - "comment": "When the input is true, the tocken should be trusted.", - "parameters": [ - "org.apache.commons.httpclient.Credentials", - "java.lang.String", - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "http:\/\/google.github.io\/google-auth-library-java\/releases\/0.7.1\/apidocs\/com\/google\/auth\/oauth2\/UserAuthorizer.html", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Returns a UserCredentials instance by exchanging an OAuth2 authorization code for tokens.", - "class": "Handles an interactive 3-Legged-OAuth2 (3LO) user consent authorization." - }, - "framework": "oauth", - "discovery": "manual", - "name": "com.google.auth.oauth2.UserAuthorizer.getCredentialsFromCode", - "jar": null, - "comment": "Source training set", - "parameters": [ - "java.lang.String", - "java.net.URI" - ], - "return": "com.google.auth.oauth2.UserCredentials", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Returns the names of the servlet's initialization parameters as an Enumeration of String objects, or an empty Enumeration if the servlet has no initialization parameters. See {@link ServletConfig#getInitParameterNames}. This method is supplied for convenience. It gets the parameter names from the servlet's ServletConfig object.", - "class": "Defines a generic, protocol-independent servlet. To write an HTTP servlet for use on the Web, extend {@link javax.servlet.http.HttpServlet} instead. GenericServlet implements the Servlet and ServletConfig interfaces. GenericServlet may be directly extended by a servlet, although it's more common to extend a protocol-specific subclass such as HttpServlet. GenericServlet makes writing servlets easier. It provides simple versions of the lifecycle methods init and destroy and of the methods in the ServletConfig interface. GenericServlet also implements the log method, declared in the ServletContext interface. To write a generic servlet, you need only override the abstract service method." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.GenericServlet.getInitParameterNames", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.util.Enumeration", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/spring-framework\/docs\/current\/javadoc-api\/org\/springframework\/orm\/hibernate3\/support\/ClobStringType.html", - "type": [ - "sink" - ], - "cwe": [ - "CWE089" - ], - "javadoc": { - "method": "", - "class": "Hibernate UserType implementation for Strings that get mapped to CLOBs. Retrieves the LobHandler to use from LocalSessionFactoryBean at config time. Particularly useful for storing Strings with more than 4000 characters in an Oracle database (only possible via CLOBs), in combination with OracleLobHandler. Can also be defined in generic Hibernate mappings, as DefaultLobCreator will work with most JDBC-compliant database drivers. In this case, the field type does not have to be CLOB: For databases like MySQL and MS SQL Server, any large enough character type will work." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.orm.hibernate3.support.ClobStringType.sqlTypes", - "jar": null, - "comment": "depricated method. ", - "parameters": [], - "return": "int[]", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.apache.wicket.protocol.http.ClientProperties.getRemoteAddress", - "jar": "wicket-core-7.8.0.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/hc.apache.org\/httpcomponents-client-ga\/httpclient\/apidocs\/org\/apache\/http\/impl\/auth\/BasicScheme.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Produces basic authorization header for the given set of {@link Credentials}.", - "class": "Basic authentication scheme as defined in RFC 2617. The following parameters can be used to customize the behavior of this class: {@link org.apache.http.auth.params.AuthPNames#CREDENTIAL_CHARSET}" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.http.impl.auth.BasicScheme.authenticate", - "jar": null, - "comment": "When the input is true, the tocken should be trusted.", - "parameters": [ - "org.apache.http.auth.Credentials", - "org.apache.http.HttpRequest" - ], - "return": "org.apache.http.Header", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/github.com\/OWASP\/WebGoat\/blob\/master\/webgoat\/src\/main\/java\/org\/owasp\/webgoat\/util\/HtmlEncoder.java", - "type": [ - "source" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "Given a string containing entity escapes, returns a string containing the actual Unicode characters corresponding to the escapes. Adapted from http:\/\/www.purpletech.com\/code\/src\/com\/purpletech\/util\/Utils.java.", - "class": "This file is part of WebGoat, an Open Web Application Security Project utility. For details, please see http:\/\/www.owasp.org\/ Copyright (c) 2002 - 20014 Bruce Mayhew This program is free software; you can redistribute it and\/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. Getting Source ============== Source for this application is maintained at https:\/\/github.com\/WebGoat\/WebGoat, a repository for free software projects." - }, - "framework": "webgoat", - "discovery": "manual", - "name": "org.owasp.webgoat.util.HtmlEncoder.decode", - "jar": null, - "comment": "Source training set", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring-framework\/docs\/current\/javadoc-api\/org\/springframework\/test\/context\/MergedContextConfiguration.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "Generate a null-safe {@link String} representation of the supplied {@link ContextLoader} based solely on the fully qualified name of the loader or \"null\" if the supplied loaded is {@code null}.", - "class": "{@code MergedContextConfiguration} encapsulates the merged context configuration declared on a test class and all of its superclasses via {@link ContextConfiguration @ContextConfiguration}, {@link ActiveProfiles @ActiveProfiles}, and {@link TestPropertySource @TestPropertySource}. Merged context resource locations, annotated classes, active profiles, property resource locations, and in-lined properties represent all declared values in the test class hierarchy taking into consideration the semantics of the {@link ContextConfiguration#inheritLocations}, {@link ActiveProfiles#inheritProfiles}, {@link TestPropertySource#inheritLocations}, and {@link TestPropertySource#inheritProperties} flags. A {@link SmartContextLoader} uses {@code MergedContextConfiguration} to load an {@link org.springframework.context.ApplicationContext ApplicationContext}. {@code MergedContextConfiguration} is also used by the {@link org.springframework.test.context.cache.ContextCache ContextCache} as the key for caching an {@link org.springframework.context.ApplicationContext ApplicationContext} that was loaded using properties of this {@code MergedContextConfiguration}." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.test.context.MergedContextConfiguration.nullSafeToString", - "jar": null, - "comment": "Counter example for sanitizer", - "parameters": [ - "org.springframework.test.context.ContextLoader" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/github.com\/hibernate\/hibernate-validator\/blob\/master\/engine\/src\/main\/java\/org\/hibernate\/validator\/internal\/util\/ConcurrentReferenceHashMap.java", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Replaces the entry for a key only if currently mapped to a given value. This is equivalent to {@code\n if (map.containsKey(key) && Objects.equals(map.get(key), oldValue)) {\n map.put(key, newValue);\n return true;\n } else\n return false;\n } except that the action is performed atomically.", - "class": "An advanced hash table supporting configurable garbage collection semantics of keys and values, optional referential-equality, full concurrency of retrievals, and adjustable expected concurrency for updates. This table is designed around specific advanced use-cases. If there is any doubt whether this table is for you, you most likely should be using {@link java.util.concurrent.ConcurrentHashMap} instead. This table supports strong, weak, and soft keys and values. By default keys are weak, and values are strong. Such a configuration offers similar behavior to {@link java.util.WeakHashMap}, entries of this table are periodically removed once their corresponding keys are no longer referenced outside of this table. In other words, this table will not prevent a key from being discarded by the garbage collector. Once a key has been discarded by the collector, the corresponding entry is no longer visible to this table; however, the entry may occupy space until a future table operation decides to reclaim it. For this reason, summary functions such as {@code size} and {@code isEmpty} might return a value greater than the observed number of entries. In order to support a high level of concurrency, stale entries are only reclaimed during blocking (usually mutating) operations. Enabling soft keys allows entries in this table to remain until their space is absolutely needed by the garbage collector. This is unlike weak keys which can be reclaimed as soon as they are no longer referenced by a normal strong reference. The primary use case for soft keys is a cache, which ideally occupies memory that is not in use for as long as possible. By default, values are held using a normal strong reference. This provides the commonly desired guarantee that a value will always have at least the same life-span as it's key. For this reason, care should be taken to ensure that a value never refers, either directly or indirectly, to its key, thereby preventing reclamation. If this is unavoidable, then it is recommended to use the same reference type in use for the key. However, it should be noted that non-strong values may disappear before their corresponding key. While this table does allow the use of both strong keys and values, it is recommended to use {@link java.util.concurrent.ConcurrentHashMap} for such a configuration, since it is optimized for that case. Just like {@link java.util.concurrent.ConcurrentHashMap}, this class obeys the same functional specification as {@link java.util.Hashtable}, and includes versions of methods corresponding to each method of {@code Hashtable}. However, even though all operations are thread-safe, retrieval operations do not entail locking, and there is not any support for locking the entire table in a way that prevents all access. This class is fully interoperable with {@code Hashtable} in programs that rely on its thread safety but not on its synchronization details. Retrieval operations (including {@code get}) generally do not block, so may overlap with update operations (including {@code put} and {@code remove}). Retrievals reflect the results of the most recently completed update operations holding upon their onset. For aggregate operations such as {@code putAll} and {@code clear}, concurrent retrievals may reflect insertion or removal of only some entries. Similarly, Iterators and Enumerations return elements reflecting the state of the hash table at some point at or since the creation of the iterator\/enumeration. They do not throw {@link ConcurrentModificationException}. However, iterators are designed to be used by only one thread at a time. The allowed concurrency among update operations is guided by the optional {@code concurrencyLevel} constructor argument (default {@code 16}), which is used as a hint for internal sizing. The table is internally partitioned to try to permit the indicated number of concurrent updates without contention. Because placement in hash tables is essentially random, the actual concurrency will vary. Ideally, you should choose a value to accommodate as many threads as will ever concurrently modify the table. Using a significantly higher value than you need can waste space and time, and a significantly lower value can lead to thread contention. But overestimates and underestimates within an order of magnitude do not usually have much noticeable impact. A value of one is appropriate when it is known that only one thread will modify and all others will only read. Also, resizing this or any other kind of hash table is a relatively slow operation, so, when possible, it is a good idea to provide estimates of expected table sizes in constructors. This class and its views and iterators implement all of the optional methods of the {@link Map} and {@link Iterator} interfaces. Like {@link Hashtable} but unlike {@link HashMap}, this class does not allow {@code null} to be used as a key or value. This class is a member of the Java Collections Framework." - }, - "framework": "hibernate", - "discovery": "manual", - "name": "org.hibernate.validator.internal.util.ConcurrentReferenceHashMap.replace", - "jar": null, - "comment": "Counter example for sanitizer", - "parameters": [ - "java.lang.Object", - "java.lang.Object", - "java.lang.Object" - ], - "return": "boolean", - "dataIn": { - "parameters": [ - 0, - 1, - 2, - 0, - 1, - 2 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/ws.apache.org\/xmlrpc\/apidocs\/org\/apache\/xmlrpc\/webserver\/WebServer.html", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Switch client filtering on\/off.", - "class": "The {@link WebServer} is a minimal HTTP server, that might be used as an embedded web server. Use of the {@link WebServer} has grown very popular amongst users of Apache XML-RPC. Why this is the case, can hardly be explained, because the {@link WebServer} is at best a workaround, compared to full blown servlet engines like Tomcat or Jetty. For example, under heavy load it will almost definitely be slower than a real servlet engine, because it does neither support proper keepalive (multiple requests per physical connection) nor chunked mode (in other words, it cannot stream requests). If you still insist in using the {@link WebServer}, it is recommended to use its subclass, the {@link ServletWebServer} instead, which offers a minimal subset of the servlet API. In other words, you keep yourself the option to migrate to a real servlet engine later. Use of the {@link WebServer} goes roughly like this: First of all, create a property file (for example \"MyHandlers.properties\") and add it to your jar file. The property keys are handler names and the property values are the handler classes. Once that is done, create an instance of WebServer: final int port = 8088;\n final String propertyFile = \"MyHandler.properties\";\n\n PropertyHandlerMapping mapping = new PropertyHandlerMapping();\n ClassLoader cl = Thread.currentThread().getContextClassLoader();\n mapping.load(cl, propertyFile);\n WebServer webServer = new WebServer(port);\n XmlRpcServerConfigImpl config = new XmlRpcServerConfigImpl();\n XmlRpcServer server = webServer.getXmlRpcServer();\n server.setConfig(config);\n server.setHandlerMapping(mapping);\n webServer.start();" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xmlrpc.webserver.WebServer.setParanoid", - "jar": null, - "comment": "Counter example for sanitizer (set)", - "parameters": [ - "boolean" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Given an attribute value string formated according to the rules specified in RFC 2253, returns the unformated value. Escapes and quotes are stripped away, and hex-encoded UTF-8 is converted to equivalent UTF-16 characters. Returns a string value as a String, and a binary value as a byte array. Legal and illegal values are defined in RFC 2253. This method is generous in accepting the values and does not catch all illegal values. Therefore, passing in an illegal value might not necessarily trigger an IllegalArgumentException.", - "class": "This class represents a relative distinguished name, or RDN, which is a component of a distinguished name as specified by RFC 2253. An example of an RDN is \"OU=Sales+CN=J.Smith\". In this example, the RDN consist of multiple attribute type\/value pairs. The RDN is parsed as described in the class description for {@link javax.naming.ldap.LdapName LdapName}. The Rdn class represents an RDN as attribute type\/value mappings, which can be viewed using {@link javax.naming.directory.Attributes Attributes}. In addition, it contains convenience methods that allow easy retrieval of type and value when the Rdn consist of a single type\/value pair, which is how it appears in a typical usage. It also contains helper methods that allow escaping of the unformatted attribute value and unescaping of the value formatted according to the escaping syntax defined in RFC2253. For methods that take or return attribute value as an Object, the value is either a String (in unescaped form) or a byte array. Rdn will properly parse all valid RDNs, but does not attempt to detect all possible violations when parsing invalid RDNs. It is \"generous\" in accepting invalid RDNs. The \"validity\" of a name is determined ultimately when it is supplied to an LDAP server, which may accept or reject the name based on factors such as its schema information and interoperability considerations. The following code example shows how to construct an Rdn using the constructor that takes type and value as arguments: Rdn rdn = new Rdn(\"cn\", \"Juicy, Fruit\");\n System.out.println(rdn.toString());\n The last line will print cn=Juicy\\, Fruit. The {@link #unescapeValue(String) unescapeValue()} method can be used to unescape the escaped comma resulting in the original value \"Juicy, Fruit\". The {@link #escapeValue(Object) escapeValue()} method adds the escape back preceding the comma. This class can be instantiated by a string representation of the RDN defined in RFC 2253 as shown in the following code example: Rdn rdn = new Rdn(\"cn=Juicy\\\\, Fruit\");\n System.out.println(rdn.toString());\n The last line will print cn=Juicy\\, Fruit. Concurrent multithreaded read-only access of an instance of Rdn need not be synchronized. Unless otherwise noted, the behavior of passing a null argument to a constructor or method in this class will cause NullPointerException to be thrown." - }, - "framework": "ldap", - "discovery": "manual", - "name": "javax.naming.ldap.Rdn.unescapeValue", - "jar": null, - "comment": "Source training set", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.Object", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "http:\/\/docs.oracle.com\/javaee\/7\/api\/javax\/mail\/internet\/MimeMultipart.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "generaljava", - "discovery": "manual", - "name": "javax.mail.internet.MimeMultipart.stripLinearWhiteSpace", - "jar": null, - "comment": "", - "parameters": [ - "byte[]" - ], - "return": "byte[]", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/ws.apache.org\/xmlrpc\/apidocs\/org\/apache\/xmlrpc\/webserver\/WebServer.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xmlrpc.webserver.WebServer.class$", - "jar": null, - "comment": "Counter example for sanitizer (String as param, but implicit method)", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.Class", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "Writes a double value to the client, with no carriage return-line feed (CRLF) at the end.", - "class": "Provides an output stream for sending binary data to the client. A ServletOutputStream object is normally retrieved via the {@link ServletResponse#getOutputStream} method. This is an abstract class that the servlet container implements. Subclasses of this class must implement the java.io.OutputStream.write(int) method." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.ServletOutputStream.print", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [ - "double" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring\/docs\/current\/javadoc-api\/org\/springframework\/web\/socket\/adapter\/jetty\/JettyWebSocketSession.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "Return whether the connection is still open.", - "class": "A {@link WebSocketSession} for use with the Jetty 9.3\/9.4 WebSocket API." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.web.socket.adapter.jetty.JettyWebSocketSession.isOpen", - "jar": null, - "comment": "Counter example for authentication (none)", - "parameters": [], - "return": "boolean", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "http:\/\/xmldb-org.sourceforge.net\/xapi\/api\/org\/xmldb\/api\/base\/XMLDBException.html", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "", - "class": "XMLDBException is thrown for all errors in the XML:DB API. It contains two error codes one an XML:DB error code as defined in ErrorCodes and one vendor specific. If the error being thrown is only vendor specific then errorCode MUST be set to ErrorCodes.VENDOR_ERROR." - }, - "framework": "generalJava", - "discovery": "manual", - "name": "org.xmldb.api.base.XMLDBException.printStackTrace", - "jar": null, - "comment": "Sink", - "parameters": [ - "java.io.PrintWriter" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/hc.apache.org\/httpclient-3.x\/apidocs\/org\/apache\/commons\/httpclient\/auth\/HttpAuthenticator.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Attempt to provide requisite proxy authentication credentials to the given method in the given context using the given authentication scheme.", - "class": "Utility methods for HTTP authorization and authentication. This class provides utility methods for generating responses to HTTP www and proxy authentication challenges. A client SHOULD assume that all paths at or deeper than the depth of the last symbolic element in the path field of the Request-URI also are within the protection space specified by the basic realm value of the current challenge. A client MAY preemptively send the corresponding Authorization header with requests for resources in that space without receipt of another challenge from the server. Similarly, when a client sends a request to a proxy, it may reuse a userid and password in the Proxy-Authorization header field without receiving another challenge from the proxy server." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.commons.httpclient.auth.HttpAuthenticator.authenticateProxy", - "jar": null, - "comment": "Depricated method. The credentials are provided in the HttpState. The authentication is added to the header of the HttpMethod.", - "parameters": [ - "org.apache.commons.httpclient.auth.AuthScheme", - "org.apache.commons.httpclient.HttpMethod", - "org.apache.commons.httpclient.HttpConnection", - "org.apache.commons.httpclient.HttpState" - ], - "return": "boolean", - "dataIn": { - "parameters": [ - 3, - 1 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Encoder for XML and XHTML attribute content. See {@link #forHtmlAttribute(String)} for description of encoding and context.", - "class": "Encode -- fluent interface for contextual encoding. Example usage in a JSP: \" \/>\n There are two versions of each contextual encoding method. The first takes a {@code String} argument and returns the encoded version as a {@code String}. The second version writes the encoded version directly to a {@code Writer}. Please make sure to read and understand the context that the method encodes for. Encoding for the incorrect context will likely lead to exposing a cross-site scripting vulnerability." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.owasp.encoder.Encode.forXmlAttribute", - "jar": "encoder-1.2.1.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring-security\/site\/docs\/current\/apidocs\/org\/springframework\/security\/config\/annotation\/SecurityConfigurerAdapter.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.config.annotation.SecurityConfigurerAdapter.and", - "jar": null, - "comment": "Counter example for authentication (none)", - "parameters": [], - "return": "org.springframework.security.config.'annotation'.SecurityBuilder", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring\/docs\/current\/javadoc-api\/org\/springframework\/web\/client\/AsyncRestTemplate.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "", - "class": "Spring's central class for asynchronous client-side HTTP access. Exposes similar methods as {@link RestTemplate}, but returns {@link ListenableFuture} wrappers as opposed to concrete results. The {@code AsyncRestTemplate} exposes a synchronous {@link RestTemplate} via the {@link #getRestOperations()} method and shares its {@linkplain #setErrorHandler error handler} and {@linkplain #setMessageConverters message converters} with that {@code RestTemplate}. Note: by default {@code AsyncRestTemplate} relies on standard JDK facilities to establish HTTP connections. You can switch to use a different HTTP library such as Apache HttpComponents, Netty, and OkHttp by using a constructor accepting an {@link AsyncClientHttpRequestFactory}. For more information, please refer to the {@link RestTemplate} API documentation." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.web.client.AsyncRestTemplate.logResponseStatus", - "jar": null, - "comment": "Counter example for sink", - "parameters": [ - "org.springframework.http.HttpMethod", - "java.net.URI", - "org.springframework.http.client.ClientHttpResponse" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring-security\/site\/docs\/current\/apidocs\/org\/springframework\/security\/config\/SecurityNamespaceHandler.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "", - "class": "Parses elements from the \"security\" namespace (http:\/\/www.springframework.org\/schema\/security)." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.config.SecurityNamespaceHandler.", - "jar": null, - "comment": "Counter example for authentication (init)", - "parameters": [], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "The default behavior of this method is to call addIntHeader(String name, int value) on the wrapped response object.", - "class": "Provides a convenient implementation of the HttpServletResponse interface that can be subclassed by developers wishing to adapt the response from a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped response object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.HttpServletResponseWrapper.addIntHeader", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [ - "java.lang.String", - "int" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.apache.wicket.protocol.http.ClientProperties.getHostname", - "jar": "wicket-core-7.8.0.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "http:\/\/grepcode.com\/file\/repo1.maven.org\/maven2\/xerces\/xercesImpl\/2.6.2\/org\/apache\/xerces\/impl\/xpath\/regex\/REUtil.java", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xerces.impl.xpath.regex.REUtil.dumpString", - "jar": null, - "comment": "Sink", - "parameters": [ - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/ws.apache.org\/xmlrpc\/apidocs\/org\/apache\/xmlrpc\/webserver\/ServletConnection.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "Performs the task.", - "class": "{@link org.apache.xmlrpc.webserver.ServletWebServer ServletWebServer's} {@link org.apache.xmlrpc.util.ThreadPool.Task} for handling a single servlet connection." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xmlrpc.webserver.ServletConnection.run", - "jar": null, - "comment": "Counter example for sink", - "parameters": [], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Encodes data for an XML CDATA section. On the chance that the input contains a terminating {@code \"]]>\"}, it will be replaced by {@code \"]]>]]>\"}.\n As with all XML contexts, characters that are invalid according to the\n XML specification will be replaced by a space character. Caller must\n provide the CDATA section boundaries.\n\n \n <xml-data><![CDATA[<%=Encode.forCDATA(...)%>]]><\/xml-data>", - "class": "Encode -- fluent interface for contextual encoding. Example usage in a JSP: \" \/>\n There are two versions of each contextual encoding method. The first takes a {@code String} argument and returns the encoded version as a {@code String}. The second version writes the encoded version directly to a {@code Writer}. Please make sure to read and understand the context that the method encodes for. Encoding for the incorrect context will likely lead to exposing a cross-site scripting vulnerability." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.owasp.encoder.Encode.forCDATA", - "jar": "encoder-1.2.1.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Gets the contents of this URL. This method is a shorthand for: openConnection().getContent()", - "class": "Class {@code URL} represents a Uniform Resource Locator, a pointer to a \"resource\" on the World Wide Web. A resource can be something as simple as a file or a directory, or it can be a reference to a more complicated object, such as a query to a database or to a search engine. More information on the types of URLs and their formats can be found at: Types of URL In general, a URL can be broken into several parts. Consider the following example: http:\/\/www.example.com\/docs\/resource1.html\n The URL above indicates that the protocol to use is {@code http} (HyperText Transfer Protocol) and that the information resides on a host machine named {@code www.example.com}. The information on that host machine is named {@code \/docs\/resource1.html}. The exact meaning of this name on the host machine is both protocol dependent and host dependent. The information normally resides in a file, but it could be generated on the fly. This component of the URL is called the path component. A URL can optionally specify a \"port\", which is the port number to which the TCP connection is made on the remote host machine. If the port is not specified, the default port for the protocol is used instead. For example, the default port for {@code http} is {@code 80}. An alternative port could be specified as: http:\/\/www.example.com:1080\/docs\/resource1.html\n The syntax of {@code URL} is defined by RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax, amended by RFC 2732: Format for Literal IPv6 Addresses in URLs. The Literal IPv6 address format also supports scope_ids. The syntax and usage of scope_ids is described here. A URL may have appended to it a \"fragment\", also known as a \"ref\" or a \"reference\". The fragment is indicated by the sharp sign character \"#\" followed by more characters. For example, http:\/\/java.sun.com\/index.html#chapter1\n This fragment is not technically part of the URL. Rather, it indicates that after the specified resource is retrieved, the application is specifically interested in that part of the document that has the tag {@code chapter1} attached to it. The meaning of a tag is resource specific. An application can also specify a \"relative URL\", which contains only enough information to reach the resource relative to another URL. Relative URLs are frequently used within HTML pages. For example, if the contents of the URL: http:\/\/java.sun.com\/index.html\n contained within it the relative URL: FAQ.html\n it would be a shorthand for: http:\/\/java.sun.com\/FAQ.html\n The relative URL need not specify all the components of a URL. If the protocol, host name, or port number is missing, the value is inherited from the fully specified URL. The file component must be specified. The optional fragment is not inherited. The URL class does not itself encode or decode any URL components according to the escaping mechanism defined in RFC2396. It is the responsibility of the caller to encode any fields, which need to be escaped prior to calling URL, and also to decode any escaped fields, that are returned from URL. Furthermore, because URL has no knowledge of URL escaping, it does not recognise equivalence between the encoded or decoded form of the same URL. For example, the two URLs: http:\/\/foo.com\/hello world\/ and http:\/\/foo.com\/hello%20world would be considered not equal to each other. Note, the {@link java.net.URI} class does perform escaping of its component fields in certain circumstances. The recommended way to manage the encoding and decoding of URLs is to use {@link java.net.URI}, and to convert between these two classes using {@link #toURI()} and {@link URI#toURL()}. The {@link URLEncoder} and {@link URLDecoder} classes can also be used, but only for HTML form encoding, which is not the same as the encoding scheme defined in RFC2396." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "java.net.URL.getContent", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [], - "return": "java.lang.Object", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/spring-security\/site\/docs\/current\/apidocs\/org\/springframework\/security\/core\/userdetails\/User.html", - "type": [ - "auth-no-change" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Indicates whether the user's credentials (password) has expired. Expired credentials prevent authentication.", - "class": "Models core user information retrieved by a {@link UserDetailsService}. Developers may use this class directly, subclass it, or write their own {@link UserDetails} implementation from scratch. {@code equals} and {@code hashcode} implementations are based on the {@code username} property only, as the intention is that lookups of the same user principal object (in a user registry, for example) will match where the objects represent the same user, not just when all the properties (authorities, password for example) are the same. Note that this implementation is not immutable. It implements the {@code CredentialsContainer} interface, in order to allow the password to be erased after authentication. This may cause side-effects if you are storing instances in-memory and reusing them. If so, make sure you return a copy from your {@code UserDetailsService} each time it is invoked." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.core.userdetails.User.isCredentialsNonExpired", - "jar": null, - "comment": "Returnes whether the program is authenticated.", - "parameters": [], - "return": "boolean", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to return getLocalName() on the wrapped request object.", - "class": "Provides a convenient implementation of the ServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.ServletRequestWrapper.getLocalName", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/xml.apache.org\/xalan-j\/apidocs\/org\/apache\/xalan\/xsltc\/compiler\/util\/Util.html", - "type": [ - "sink", - "sanitizer" - ], - "cwe": [ - "CWE089", - "CWE078", - "CWE306", - "CWE079", - "CWE601" - ], - "javadoc": { - "method": "Replace a certain character in a string with a new substring.", - "class": "" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xalan.xsltc.compiler.util.Util.replace", - "jar": null, - "comment": "", - "parameters": [ - "java.lang.String", - "java.lang.String", - "java.lang.String[]" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0, - 1, - 2 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring-security\/site\/docs\/current\/apidocs\/org\/springframework\/security\/config\/annotation\/web\/builders\/HttpSecurity.html", - "type": [ - "source" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.config.annotation.web.builders.HttpSecurity.headers", - "jar": null, - "comment": "Counter example for authentication (none)", - "parameters": [], - "return": "org.springframework.security.config.'annotation'.web.configurers.HeadersConfigurer", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Log a FINE message. If the logger is currently enabled for the FINE message level then the given message is forwarded to all the registered output Handler objects.", - "class": "A Logger object is used to log messages for a specific system or application component. Loggers are normally named, using a hierarchical dot-separated namespace. Logger names can be arbitrary strings, but they should normally be based on the package name or class name of the logged component, such as java.net or javax.swing. In addition it is possible to create \"anonymous\" Loggers that are not stored in the Logger namespace. Logger objects may be obtained by calls on one of the getLogger factory methods. These will either create a new Logger or return a suitable existing Logger. It is important to note that the Logger returned by one of the {@code getLogger} factory methods may be garbage collected at any time if a strong reference to the Logger is not kept. Logging messages will be forwarded to registered Handler objects, which can forward the messages to a variety of destinations, including consoles, files, OS logs, etc. Each Logger keeps track of a \"parent\" Logger, which is its nearest existing ancestor in the Logger namespace. Each Logger has a \"Level\" associated with it. This reflects a minimum Level that this logger cares about. If a Logger's level is set to null, then its effective level is inherited from its parent, which may in turn obtain it recursively from its parent, and so on up the tree. The log level can be configured based on the properties from the logging configuration file, as described in the description of the LogManager class. However it may also be dynamically changed by calls on the Logger.setLevel method. If a logger's level is changed the change may also affect child loggers, since any child logger that has null as its level will inherit its effective level from its parent. On each logging call the Logger initially performs a cheap check of the request level (e.g., SEVERE or FINE) against the effective log level of the logger. If the request level is lower than the log level, the logging call returns immediately. After passing this initial (cheap) test, the Logger will allocate a LogRecord to describe the logging message. It will then call a Filter (if present) to do a more detailed check on whether the record should be published. If that passes it will then publish the LogRecord to its output Handlers. By default, loggers also publish to their parent's Handlers, recursively up the tree. Each Logger may have a {@code ResourceBundle} associated with it. The {@code ResourceBundle} may be specified by name, using the {@link #getLogger(java.lang.String, java.lang.String)} factory method, or by value - using the {@link #setResourceBundle(java.util.ResourceBundle) setResourceBundle} method. This bundle will be used for localizing logging messages. If a Logger does not have its own {@code ResourceBundle} or resource bundle name, then it will inherit the {@code ResourceBundle} or resource bundle name from its parent, recursively up the tree. Most of the logger output methods take a \"msg\" argument. This msg argument may be either a raw value or a localization key. During formatting, if the logger has (or inherits) a localization {@code ResourceBundle} and if the {@code ResourceBundle} has a mapping for the msg string, then the msg string is replaced by the localized value. Otherwise the original msg string is used. Typically, formatters use java.text.MessageFormat style formatting to format parameters, so for example a format string \"{0} {1}\" would format two parameters as strings. A set of methods alternatively take a \"msgSupplier\" instead of a \"msg\" argument. These methods take a {@link Supplier}{@code } function which is invoked to construct the desired log message only when the message actually is to be logged based on the effective log level thus eliminating unnecessary message construction. For example, if the developer wants to log system health status for diagnosis, with the String-accepting version, the code would look like: \n\n class DiagnosisMessages {\n static String systemHealthStatus() {\n \/\/ collect system health information\n ...\n }\n }\n ...\n logger.log(Level.FINER, DiagnosisMessages.systemHealthStatus());\n With the above code, the health status is collected unnecessarily even when the log level FINER is disabled. With the Supplier-accepting version as below, the status will only be collected when the log level FINER is enabled. \n\n logger.log(Level.FINER, DiagnosisMessages::systemHealthStatus);\n When looking for a {@code ResourceBundle}, the logger will first look at whether a bundle was specified using {@link #setResourceBundle(java.util.ResourceBundle) setResourceBundle}, and then only whether a resource bundle name was specified through the {@link #getLogger(java.lang.String, java.lang.String) getLogger} factory method. If no {@code ResourceBundle} or no resource bundle name is found, then it will use the nearest {@code ResourceBundle} or resource bundle name inherited from its parent tree. When a {@code ResourceBundle} was inherited or specified through the {@link #setResourceBundle(java.util.ResourceBundle) setResourceBundle} method, then that {@code ResourceBundle} will be used. Otherwise if the logger only has or inherited a resource bundle name, then that resource bundle name will be mapped to a {@code ResourceBundle} object, using the default Locale at the time of logging. When mapping resource bundle names to {@code ResourceBundle} objects, the logger will first try to use the Thread's {@linkplain java.lang.Thread#getContextClassLoader() context class loader} to map the given resource bundle name to a {@code ResourceBundle}. If the thread context class loader is {@code null}, it will try the {@linkplain java.lang.ClassLoader#getSystemClassLoader() system class loader} instead. If the {@code ResourceBundle} is still not found, it will use the class loader of the first caller of the {@link #getLogger(java.lang.String, java.lang.String) getLogger} factory method. Formatting (including localization) is the responsibility of the output Handler, which will typically call a Formatter. Note that formatting need not occur synchronously. It may be delayed until a LogRecord is actually written to an external sink. The logging methods are grouped in five main categories: There are a set of \"log\" methods that take a log level, a message string, and optionally some parameters to the message string. There are a set of \"logp\" methods (for \"log precise\") that are like the \"log\" methods, but also take an explicit source class name and method name. There are a set of \"logrb\" method (for \"log with resource bundle\") that are like the \"logp\" method, but also take an explicit resource bundle object for use in localizing the log message. There are convenience methods for tracing method entries (the \"entering\" methods), method returns (the \"exiting\" methods) and throwing exceptions (the \"throwing\" methods). Finally, there are a set of convenience methods for use in the very simplest cases, when a developer simply wants to log a simple string at a given log level. These methods are named after the standard Level names (\"severe\", \"warning\", \"info\", etc.) and take a single argument, a message string. For the methods that do not take an explicit source name and method name, the Logging framework will make a \"best effort\" to determine which class and method called into the logging method. However, it is important to realize that this automatically inferred information may only be approximate (or may even be quite wrong!). Virtual machines are allowed to do extensive optimizations when JITing and may entirely remove stack frames, making it impossible to reliably locate the calling class and method. All methods on Logger are multi-thread safe. Subclassing Information: Note that a LogManager class may provide its own implementation of named Loggers for any point in the namespace. Therefore, any subclasses of Logger (unless they are implemented in conjunction with a new LogManager class) should take care to obtain a Logger instance from the LogManager class and should delegate operations such as \"isLoggable\" and \"log(LogRecord)\" to that instance. Note that in order to intercept all logging output, subclasses need only override the log(LogRecord) method. All the other logging methods are implemented as calls on this log(LogRecord) method." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.util.logging.Logger.fine", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Performs a final update on the digest using the specified array of bytes, then completes the digest computation. That is, this method first calls {@link #update(byte[]) update(input)}, passing the input array to the {@code update} method, then calls {@link #digest() digest()}.", - "class": "This MessageDigest class provides applications the functionality of a message digest algorithm, such as SHA-1 or SHA-256. Message digests are secure one-way hash functions that take arbitrary-sized data and output a fixed-length hash value. A MessageDigest object starts out initialized. The data is processed through it using the {@link #update(byte) update} methods. At any point {@link #reset() reset} can be called to reset the digest. Once all the data to be updated has been updated, one of the {@link #digest() digest} methods should be called to complete the hash computation. The {@code digest} method can be called once for a given number of updates. After {@code digest} has been called, the MessageDigest object is reset to its initialized state. Implementations are free to implement the Cloneable interface. Client applications can test cloneability by attempting cloning and catching the CloneNotSupportedException: {@code\n MessageDigest md = MessageDigest.getInstance(\"SHA\");\n\n try {\n md.update(toChapter1);\n MessageDigest tc1 = md.clone();\n byte[] toChapter1Digest = tc1.digest();\n md.update(toChapter2);\n ...etc.\n } catch (CloneNotSupportedException cnse) {\n throw new DigestException(\"couldn't make digest of partial content\");\n }\n } Note that if a given implementation is not cloneable, it is still possible to compute intermediate digests by instantiating several instances, if the number of digests is known in advance. Note that this class is abstract and extends from {@code MessageDigestSpi} for historical reasons. Application developers should only take notice of the methods defined in this {@code MessageDigest} class; all the methods in the superclass are intended for cryptographic service providers who wish to supply their own implementations of message digest algorithms. Every implementation of the Java platform is required to support the following standard {@code MessageDigest} algorithms: {@code MD5} {@code SHA-1} {@code SHA-256} These algorithms are described in the MessageDigest section of the Java Cryptography Architecture Standard Algorithm Name Documentation. Consult the release documentation for your implementation to see if any other algorithms are supported." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "java.security.MessageDigest.digest", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "byte[]" - ], - "return": "byte[]", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring-security\/site\/docs\/current\/apidocs\/org\/springframework\/security\/config\/annotation\/web\/configurers\/ExpressionUrlAuthorizationConfigurer.AuthorizedUrl.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.config.annotation.web.configurers.ExpressionUrlAuthorizationConfigurer.access$200", - "jar": null, - "comment": "Counter example for sanitizer (implicit method)", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink", - "source" - ], - "cwe": [], - "javadoc": { - "method": "Finds a resource with a given name. The rules for searching resources associated with a given class are implemented by the defining {@linkplain ClassLoader class loader} of the class. This method delegates to this object's class loader. If this object was loaded by the bootstrap class loader, the method delegates to {@link ClassLoader#getSystemResourceAsStream}. Before delegation, an absolute resource name is constructed from the given resource name using this algorithm: If the {@code name} begins with a {@code '\/'} ('\\u002f'), then the absolute name of the resource is the portion of the {@code name} following the {@code '\/'}. Otherwise, the absolute name is of the following form: {@code modified_package_name\/name} Where the {@code modified_package_name} is the package name of this object with {@code '\/'} substituted for {@code '.'} ('\\u002e').", - "class": "Instances of the class {@code Class} represent classes and interfaces in a running Java application. An enum is a kind of class and an annotation is a kind of interface. Every array also belongs to a class that is reflected as a {@code Class} object that is shared by all arrays with the same element type and number of dimensions. The primitive Java types ({@code boolean}, {@code byte}, {@code char}, {@code short}, {@code int}, {@code long}, {@code float}, and {@code double}), and the keyword {@code void} are also represented as {@code Class} objects. {@code Class} has no public constructor. Instead {@code Class} objects are constructed automatically by the Java Virtual Machine as classes are loaded and by calls to the {@code defineClass} method in the class loader. The following example uses a {@code Class} object to print the class name of an object: void printClassName(Object obj) {\n System.out.println(\"The class of \" + obj +\n \" is \" + obj.getClass().getName());\n }\n It is also possible to get the {@code Class} object for a named type (or for void) using a class literal. See Section 15.8.2 of The Java™ Language Specification. For example: {@code System.out.println(\"The name of class Foo is: \"+Foo.class.getName());}" - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.lang.Class.getResourceAsStream", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.io.InputStream", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "http:\/\/xmldb-org.sourceforge.net\/xapi\/api\/org\/xmldb\/api\/DatabaseManager.html", - "type": [ - "sanitizer" - ], - "cwe": [ - "CWE089", - "CWE306", - "CWE601" - ], - "javadoc": { - "method": "Removes the URI_PREFIX from the front of the URI. This is so the database can focus on handling its own URIs.", - "class": "DatabaseManager is the entry point for the API and enables you to get the initial Collection references necessary to do anything useful with the API. DatabaseManager is intended to be provided as a concrete implementation in a particular programming language. Individual language mappings should define the exact syntax and semantics of its use." - }, - "framework": "xmldb", - "discovery": "manual", - "name": "org.xmldb.api.DatabaseManager.stripURIPrefix", - "jar": null, - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Returns a {@code Method} object that reflects the specified public member method of the class or interface represented by this {@code Class} object. The {@code name} parameter is a {@code String} specifying the simple name of the desired method. The {@code parameterTypes} parameter is an array of {@code Class} objects that identify the method's formal parameter types, in declared order. If {@code parameterTypes} is {@code null}, it is treated as if it were an empty array. If the {@code name} is \"{@code }\" or \"{@code }\" a {@code NoSuchMethodException} is raised. Otherwise, the method to be reflected is determined by the algorithm that follows. Let C be the class or interface represented by this object: C is searched for a matching method, as defined below. If a matching method is found, it is reflected. If no matching method is found by step 1 then: If C is a class other than {@code Object}, then this algorithm is invoked recursively on the superclass of C. If C is the class {@code Object}, or if C is an interface, then the superinterfaces of C (if any) are searched for a matching method. If any such method is found, it is reflected. To find a matching method in a class or interface C: If C declares exactly one public method with the specified name and exactly the same formal parameter types, that is the method reflected. If more than one such method is found in C, and one of these methods has a return type that is more specific than any of the others, that method is reflected; otherwise one of the methods is chosen arbitrarily. Note that there may be more than one matching method in a class because while the Java language forbids a class to declare multiple methods with the same signature but different return types, the Java virtual machine does not. This increased flexibility in the virtual machine can be used to implement various language features. For example, covariant returns can be implemented with {@linkplain java.lang.reflect.Method#isBridge bridge methods}; the bridge method and the method being overridden would have the same signature but different return types. If this {@code Class} object represents an array type, then this method does not find the {@code clone()} method. Static methods declared in superinterfaces of the class or interface represented by this {@code Class} object are not considered members of the class or interface.", - "class": "Instances of the class {@code Class} represent classes and interfaces in a running Java application. An enum is a kind of class and an annotation is a kind of interface. Every array also belongs to a class that is reflected as a {@code Class} object that is shared by all arrays with the same element type and number of dimensions. The primitive Java types ({@code boolean}, {@code byte}, {@code char}, {@code short}, {@code int}, {@code long}, {@code float}, and {@code double}), and the keyword {@code void} are also represented as {@code Class} objects. {@code Class} has no public constructor. Instead {@code Class} objects are constructed automatically by the Java Virtual Machine as classes are loaded and by calls to the {@code defineClass} method in the class loader. The following example uses a {@code Class} object to print the class name of an object: void printClassName(Object obj) {\n System.out.println(\"The class of \" + obj +\n \" is \" + obj.getClass().getName());\n }\n It is also possible to get the {@code Class} object for a named type (or for void) using a class literal. See Section 15.8.2 of The Java™ Language Specification. For example: {@code System.out.println(\"The name of class Foo is: \"+Foo.class.getName());}" - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.lang.Class.getMethod", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.lang.String", - "java.lang.Class[]" - ], - "return": "java.lang.reflect.Method", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/hc.apache.org\/httpcomponents-client-ga\/httpclient\/apidocs\/org\/apache\/http\/impl\/auth\/DigestScheme.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Produces a digest authorization string for the given set of {@link Credentials}, method name and URI.", - "class": "Digest authentication scheme as defined in RFC 2617. Both MD5 (default) and MD5-sess are supported. Currently only qop=auth or no qop is supported. qop=auth-int is unsupported. If auth and auth-int are provided, auth is used. Credential charset is configured via the {@link org.apache.commons.httpclient.params.HttpMethodParams#CREDENTIAL_CHARSET credential charset} parameter. Since the digest username is included as clear text in the generated Authentication header, the charset of the username must be compatible with the {@link org.apache.commons.httpclient.params.HttpMethodParams#HTTP_ELEMENT_CHARSET http element charset}. TODO: make class more stateful regarding repeated authentication requests" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.commons.httpclient.auth.DigestScheme.authenticate", - "jar": null, - "comment": "When the input is true, the tocken should be trusted.", - "parameters": [ - "org.apache.commons.httpclient.Credentials", - "org.apache.commons.httpclient.HttpMethod" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Encodes for CSS URL contexts. The context must be surrounded by {@code \"url(\"} and {@code \")\"}. It is safe for use in both style blocks and attributes in HTML. Note: this does not do any checking on the quality or safety of the URL itself. The caller should insure that the URL is safe for embedding (e.g. input validation) by other means. Example JSP Usage );\">\n\n \n background: url();\n \n Encoding Notes The following characters are encoded using hexidecimal encodings: {@code U+0000} - {@code U+001f}, {@code \"}, {@code '}, {@code \\}, {@code }, {@code U+007f}, line separator ({@code U+2028}), paragraph separator ({@code U+2029}). Any character requiring encoding is encoded as {@code \\xxx} where {@code xxx} is the shortest hexidecimal representation of its Unicode code point (after decoding surrogate pairs if necessary). This encoding is never zero padded. Thus, for example, the tab character is encoded as {@code \\9}, not {@code \\0009}. The encoder looks ahead 1 character in the input and appends a space to an encoding to avoid the next character becoming part of the hexidecimal encoded sequence. Thus \u201C{@code '1}\u201D is encoded as \u201C{@code \\27 1}\u201D, and not as \u201C{@code \\271}\u201D. If a space is not necessary, it is not included, thus \u201C{@code 'x}\u201D is encoded as \u201C{@code \\27x}\u201D, and not as \u201C{@code \\27 x}\u201D. Surrogate pairs are passed through only if valid. Invalid surrogate pairs are replaced by an underscore (_). Unicode \"non-characters\" are replaced by underscores (_).", - "class": "Encode -- fluent interface for contextual encoding. Example usage in a JSP: \" \/>\n There are two versions of each contextual encoding method. The first takes a {@code String} argument and returns the encoded version as a {@code String}. The second version writes the encoded version directly to a {@code Writer}. Please make sure to read and understand the context that the method encodes for. Encoding for the incorrect context will likely lead to exposing a cross-site scripting vulnerability." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.owasp.encoder.Encode.forCssUrl", - "jar": "encoder-1.2.1.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/spring-security\/site\/docs\/4.0.0.RELEASE\/apidocs\/org\/springframework\/security\/config\/annotation\/authentication\/builders\/AuthenticationManagerBuilder.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE306" - ], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder.jdbcAuthentication", - "jar": null, - "comment": "Authentication to JDBC. The owner of the return object can manipulate users to a JDBC connection.", - "parameters": [], - "return": "org.springframework.security.config.'annotation'.authentication.configurers.provisioning.JdbcUserDetailsManagerConfigurer", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/hc.apache.org\/httpcomponents-client-ga\/httpclient\/apidocs\/org\/apache\/http\/impl\/conn\/DefaultClientConnection.html", - "type": [ - "sink" - ], - "cwe": [ - "CWE601" - ], - "javadoc": { - "method": "Sends the request line and all headers over the connection.", - "class": "Default implementation of an operated client connection. The following parameters can be used to customize the behavior of this class: {@link org.apache.http.params.CoreProtocolPNames#STRICT_TRANSFER_ENCODING} {@link org.apache.http.params.CoreProtocolPNames#HTTP_ELEMENT_CHARSET} {@link org.apache.http.params.CoreConnectionPNames#SOCKET_BUFFER_SIZE} {@link org.apache.http.params.CoreConnectionPNames#MAX_LINE_LENGTH} {@link org.apache.http.params.CoreConnectionPNames#MAX_HEADER_COUNT}" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.http.impl.conn.DefaultClientConnection.sendRequestHeader", - "jar": null, - "comment": "Sink", - "parameters": [ - "org.apache.http.HttpRequest" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/ws.apache.org\/xmlrpc\/apidocs\/org\/apache\/xmlrpc\/webserver\/HttpServletRequestImpl.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xmlrpc.webserver.HttpServletRequestImpl.access$000", - "jar": null, - "comment": "Counter example for sanitizer (implicit method)", - "parameters": [ - "org.apache.xmlrpc.webserver.HttpServletRequestImpl" - ], - "return": "int", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/spring-framework\/docs\/2.5.x\/api\/org\/springframework\/web\/servlet\/tags\/EscapeBodyTag.html", - "type": [ - "source" - ], - "cwe": [ - "CWE601" - ], - "javadoc": { - "method": "Read the unescaped body content from the page.", - "class": "Custom JSP tag to escape its enclosed body content, applying HTML escaping and\/or JavaScript escaping. Provides a \"htmlEscape\" property for explicitly specifying whether to apply HTML escaping. If not set, a page-level default (e.g. from the HtmlEscapeTag) or an application-wide default (the \"defaultHtmlEscape\" context-param in web.xml) is used. Provides a \"javaScriptEscape\" property for specifying whether to apply JavaScript escaping. Can be combined with HTML escaping or used standalone." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.web.servlet.tags.EscapeBodyTag.readBodyContent", - "jar": null, - "comment": "Source training set", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/spring\/docs\/3.2.2.RELEASE_to_4.0.0.M1\/Spring%20Framework%203.2.2.RELEASE\/org\/springframework\/web\/util\/UrlPathHelper.html", - "type": [ - "source" - ], - "cwe": [ - "CWE079", - "CWE601" - ], - "javadoc": { - "method": "Decode the given source string with a URLDecoder. The encoding will be taken from the request, falling back to the default \"ISO-8859-1\". The default implementation uses URLDecoder.decode(input, enc).", - "class": "Helper class for URL path matching. Provides support for URL paths in RequestDispatcher includes and support for consistent URL decoding. Used by {@link org.springframework.web.servlet.handler.AbstractUrlHandlerMapping}, {@link org.springframework.web.servlet.mvc.multiaction.AbstractUrlMethodNameResolver} and {@link org.springframework.web.servlet.support.RequestContext} for path matching and\/or URI determination." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.web.util.UrlPathHelper.decodeRequestString", - "jar": null, - "comment": "Source training set", - "parameters": [ - "javax.servlet.http.HttpServletRequest", - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/commons.apache.org\/proper\/commons-validator\/apidocs\/org\/apache\/commons\/validator\/util\/ValidatorUtils.html", - "type": [ - "sink", - "sanitizer" - ], - "cwe": [ - "CWE089", - "CWE078", - "CWE306", - "CWE079", - "CWE601" - ], - "javadoc": { - "method": "Replace part of a String with another value.", - "class": "Basic utility methods. The use of FastHashMap is deprecated and will be replaced in a future release." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.commons.validator.util.ValidatorUtils.replace", - "jar": null, - "comment": "", - "parameters": [ - "java.lang.String", - "java.lang.String", - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0, - 1, - 2 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/spring\/docs\/current\/javadoc-api\/org\/springframework\/test\/web\/servlet\/request\/MockHttpServletRequestBuilder.html", - "type": [ - "source" - ], - "cwe": [ - "CWE079", - "CWE601" - ], - "javadoc": { - "method": "Set a request attribute.", - "class": "Default builder for {@link MockHttpServletRequest} required as input to perform requests in {@link MockMvc}. Application tests will typically access this builder through the static factory methods in {@link MockMvcRequestBuilders}. Although this class cannot be extended, additional ways to initialize the {@code MockHttpServletRequest} can be plugged in via {@link #with(RequestPostProcessor)}." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder.requestAttr", - "jar": null, - "comment": "Source training set", - "parameters": [ - "java.lang.String", - "java.lang.Object" - ], - "return": "org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/spring-framework\/docs\/current\/javadoc-api\/org\/springframework\/web\/socket\/sockjs\/transport\/handler\/JsonpReceivingTransportHandler.html", - "type": [ - "source" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.web.socket.sockjs.transport.handler.JsonpReceivingTransportHandler.readMessages", - "jar": null, - "comment": "Source training set", - "parameters": [ - "org.springframework.http.server.ServerHttpRequest" - ], - "return": "java.lang.String[]", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/github.com\/google\/google-auth-library-java\/blob\/master\/oauth2_http\/java\/com\/google\/auth\/oauth2\/DefaultCredentialsProvider.java", - "type": [ - "source" - ], - "cwe": [ - "CWE862" - ], - "javadoc": { - "method": "", - "class": "Provides the Application Default Credential from the environment. An instance represents the per-process state used to get and cache the credential and allows overriding the state and environment for testing purposes." - }, - "framework": "oauth", - "discovery": "manual", - "name": "com.google.auth.oauth2.DefaultCredentialsProvider.getDefaultCredentialsUnsynchronized", - "jar": null, - "comment": "Source training set", - "parameters": [ - "com.google.api.client.http.HttpTransport" - ], - "return": "com.google.auth.oauth2.GoogleCredentials", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring-framework\/docs\/current\/javadoc-api\/org\/springframework\/expression\/spel\/ast\/LongLiteral.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "Check whether a node can be compiled to bytecode. The reasoning in each node may be different but will typically involve checking whether the exit type descriptor of the node is known and any relevant child nodes are compilable.", - "class": "Expression language AST node that represents a long integer literal." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.expression.spel.ast.LongLiteral.isCompilable", - "jar": null, - "comment": "Counter example for authentication (none)", - "parameters": [], - "return": "boolean", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring-security\/site\/docs\/current\/apidocs\/org\/springframework\/security\/config\/annotation\/web\/builders\/HttpSecurity.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.config.annotation.web.builders.HttpSecurity.rememberMe", - "jar": null, - "comment": "Counter example for authentication (none)", - "parameters": [], - "return": "org.springframework.security.config.'annotation'.web.configurers.RememberMeConfigurer", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Constructs a cookie with the specified name and value. The name must conform to RFC 2109. However, vendors may provide a configuration option that allows cookie names conforming to the original Netscape Cookie Specification to be accepted. The name of a cookie cannot be changed once the cookie has been created. The value can be anything the server chooses to send. Its value is probably of interest only to the server. The cookie's value can be changed after creation with the setValue method. By default, cookies are created according to the Netscape cookie specification. The version can be changed with the setVersion method.", - "class": "Creates a cookie, a small amount of information sent by a servlet to a Web browser, saved by the browser, and later sent back to the server. A cookie's value can uniquely identify a client, so cookies are commonly used for session management. A cookie has a name, a single value, and optional attributes such as a comment, path and domain qualifiers, a maximum age, and a version number. Some Web browsers have bugs in how they handle the optional attributes, so use them sparingly to improve the interoperability of your servlets. The servlet sends cookies to the browser by using the {@link HttpServletResponse#addCookie} method, which adds fields to HTTP response headers to send cookies to the browser, one at a time. The browser is expected to support 20 cookies for each Web server, 300 cookies total, and may limit cookie size to 4 KB each. The browser returns cookies to the servlet by adding fields to HTTP request headers. Cookies can be retrieved from a request by using the {@link HttpServletRequest#getCookies} method. Several cookies might have the same name but different path attributes. Cookies affect the caching of the Web pages that use them. HTTP 1.0 does not cache pages that use cookies created with this class. This class does not support the cache control defined with HTTP 1.1. This class supports both the Version 0 (by Netscape) and Version 1 (by RFC 2109) cookie specifications. By default, cookies are created using Version 0 to ensure the best interoperability." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.Cookie.", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [ - "java.lang.String", - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/github.com\/OWASP\/java-html-sanitizer\/blob\/master\/src\/main\/java\/org\/owasp\/html\/Encoding.java", - "type": [ - "sanitizer" - ], - "cwe": [ - "CWE089", - "CWE078", - "CWE306", - "CWE079", - "CWE601" - ], - "javadoc": { - "method": "Leaves in the input buffer only code-units that comprise XML safe chars.", - "class": "Encoders and decoders for HTML." - }, - "framework": "generaljava", - "discovery": "manual", - "name": "org.owasp.html.Encoding.stripBannedCodeunits", - "jar": null, - "comment": "", - "parameters": [ - "java.lang.StringBuilder" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0, - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/github.com\/OWASP\/json-sanitizer\/blob\/master\/src\/main\/java\/com\/google\/json\/JsonSanitizer.java", - "type": [ - "sink", - "sanitizer" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "", - "class": "Given JSON-like content, converts it to valid JSON. This can be attached at either end of a data-pipeline to help satisfy Postel's principle: be conservative in what you do, be liberal in what you accept from others Applied to JSON-like content from others, it will produce well-formed JSON that should satisfy any parser you use. Applied to your output before you send, it will coerce minor mistakes in encoding and make it easier to embed your JSON in HTML and XML. Input The sanitizer takes JSON like content, and interprets it as JS eval would. Specifically, it deals with these non-standard constructs. {@code '...'} Single quoted strings are converted to JSON strings. {@code \\xAB} Hex escapes are converted to JSON unicode escapes. {@code \\012} Octal escapes are converted to JSON unicode escapes. {@code 0xAB} Hex integer literals are converted to JSON decimal numbers. {@code 012} Octal integer literals are converted to JSON decimal numbers. {@code +.5} Decimal numbers are coerced to JSON's stricter format. {@code [0,,2]} Elisions in arrays are filled with {@code null}. {@code [1,2,3,]} Trailing commas are removed. {foo:\"bar\"} Unquoted property names are quoted. \/\/comments JS style line and block comments are removed. (...) Grouping parentheses are removed. The sanitizer fixes missing punctuation, end quotes, and mismatched or missing close brackets. If an input contains only white-space then the valid JSON string {@code null} is substituted. Output The output is well-formed JSON as defined by RFC 4627. The output satisfies three additional properties: The output will not contain the substring (case-insensitively) {@code \"The output will not contain the substring {@code \"]]>\"} so can be embedded inside an XML CDATA section without further encoding. The output is a valid Javascript expression, so can be parsed by Javascript's eval builtin (after being wrapped in parentheses) or by JSON.parse. Specifically, the output will not contain any string literals with embedded JS newlines (U+2028 Paragraph separator or U+2029 Line separator). The output contains only valid Unicode scalar values (no isolated UTF-16 surrogates) that are allowed in XML unescaped. Security Since the output is well-formed JSON, passing it to eval will have no side-effects and no free variables, so is neither a code-injection vector, nor a vector for exfiltration of secrets. This library only ensures that the JSON string → Javascript object phase has no side effects and resolves no free variables, and cannot control how other client side code later interprets the resulting Javascript object. So if client-side code takes a part of the parsed data that is controlled by an attacker and passes it back through a powerful interpreter like {@code eval} or {@code innerHTML} then that client-side code might suffer unintended side-effects. Efficiency The sanitize method will return the input string without allocating a new buffer when the input is already valid JSON that satisfies the properties above. Thus, if used on input that is usually well formed, it has minimal memory overhead. The sanitize method takes O(n) time where n is the length in UTF-16 code-units." - }, - "framework": "json", - "discovery": "manual", - "name": "com.google.json.JsonSanitizer.replace", - "jar": null, - "comment": "", - "parameters": [ - "int", - "int", - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0, - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/ws.apache.org\/xmlrpc\/apidocs\/org\/apache\/xmlrpc\/webserver\/HttpServletRequestImpl.html", - "type": [ - "source" - ], - "cwe": [ - "CWE089", - "CWE078", - "CWE601" - ], - "javadoc": { - "method": "", - "class": "Stub implementation of a {@link javax.servlet.http.HttpServletRequest} with lots of unimplemented methods. I implemented only those, which are required for testing the {@link org.apache.xmlrpc.webserver.XmlRpcServlet}. Perhaps someone else is adding more at a later time?" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xmlrpc.webserver.HttpServletRequestImpl.readLine", - "jar": null, - "comment": "Source training set", - "parameters": [ - "byte[]" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Prints a long integer. The string produced by {@link java.lang.String#valueOf(long)} is translated into bytes according to the platform's default character encoding, and these bytes are written in exactly the manner of the {@link #write(int)} method.", - "class": "A PrintStream adds functionality to another output stream, namely the ability to print representations of various data values conveniently. Two other features are provided as well. Unlike other output streams, a PrintStream never throws an IOException; instead, exceptional situations merely set an internal flag that can be tested via the checkError method. Optionally, a PrintStream can be created so as to flush automatically; this means that the flush method is automatically invoked after a byte array is written, one of the println methods is invoked, or a newline character or byte ('\\n') is written. All characters printed by a PrintStream are converted into bytes using the platform's default character encoding. The {@link PrintWriter} class should be used in situations that require writing characters rather than bytes." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.io.PrintStream.print", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "long" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "", - "class": "A validator performs syntax and possibly semantic validation of a single piece of data from an untrusted source." - }, - "framework": "owaspesapi", - "discovery": "manual", - "name": "org.owasp.esapi.reference.validation.StringValidationRule.addBlacklistPattern", - "jar": null, - "comment": "Counter example for sanitizer (validation)", - "parameters": [ - "java.util.regex.Pattern" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring-framework\/docs\/current\/javadoc-api\/org\/springframework\/web\/socket\/BinaryMessage.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "Create a new binary WebSocket message with the given byte[] payload.", - "class": "A binary WebSocket message." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.web.socket.BinaryMessage.", - "jar": null, - "comment": "Counter example for sanitizer (byte[] as param, but init)", - "parameters": [ - "byte[]" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Construct an XPath object. (Needs review -sc) This method initializes an XPathParser\/ Compiler and compiles the expression.", - "class": "The XPath class wraps an expression object and provides general services for execution of that expression." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.apache.xpath.XPath.", - "jar": "apache-xml-xalan.jar", - "comment": "", - "parameters": [ - "java.lang.String", - "javax.xml.transform.SourceLocator", - "org.apache.xml.utils.PrefixResolver", - "int" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/lang\/String.html", - "type": [ - "sink", - "sanitizer" - ], - "cwe": [ - "CWE089", - "CWE078", - "CWE306", - "CWE079", - "CWE601" - ], - "javadoc": { - "method": "Replaces each substring of this string that matches the literal target sequence with the specified literal replacement sequence. The replacement proceeds from the beginning of the string to the end, for example, replacing \"aa\" with \"b\" in the string \"aaa\" will result in \"ba\" rather than \"ab\".", - "class": "The {@code String} class represents character strings. All string literals in Java programs, such as {@code \"abc\"}, are implemented as instances of this class. Strings are constant; their values cannot be changed after they are created. String buffers support mutable strings. Because String objects are immutable they can be shared. For example: String str = \"abc\";\n is equivalent to: char data[] = {'a', 'b', 'c'};\n String str = new String(data);\n Here are some more examples of how strings can be used: System.out.println(\"abc\");\n String cde = \"cde\";\n System.out.println(\"abc\" + cde);\n String c = \"abc\".substring(2,3);\n String d = cde.substring(1, 2);\n The class {@code String} includes methods for examining individual characters of the sequence, for comparing strings, for searching strings, for extracting substrings, and for creating a copy of a string with all characters translated to uppercase or to lowercase. Case mapping is based on the Unicode Standard version specified by the {@link java.lang.Character Character} class. The Java language provides special support for the string concatenation operator ( + ), and for conversion of other objects to strings. String concatenation is implemented through the {@code StringBuilder}(or {@code StringBuffer}) class and its {@code append} method. String conversions are implemented through the method {@code toString}, defined by {@code Object} and inherited by all classes in Java. For additional information on string concatenation and conversion, see Gosling, Joy, and Steele, The Java Language Specification. Unless otherwise noted, passing a null argument to a constructor or method in this class will cause a {@link NullPointerException} to be thrown. A {@code String} represents a string in the UTF-16 format in which supplementary characters are represented by surrogate pairs (see the section Unicode Character Representations in the {@code Character} class for more information). Index values refer to {@code char} code units, so a supplementary character uses two positions in a {@code String}. The {@code String} class provides methods for dealing with Unicode code points (i.e., characters), in addition to those for dealing with Unicode code units (i.e., {@code char} values)." - }, - "framework": "generaljava", - "discovery": "manual", - "name": "java.lang.String.replace", - "jar": null, - "comment": "", - "parameters": [ - "java.lang.CharSequence", - "java.lang.CharSequence" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0, - 1 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "When using ProxyPass, requestCycle().getHttpServletRequest(). getRemoteAddr() returns the IP of the machine forwarding the request. In order to maintain the clients ip address, the server places it in the X-Forwarded-For Header. Proxies may also mask the original client IP with tokens like \"hidden\" or \"unknown\". If so, the last proxy ip address is returned.", - "class": "Default client info object for web applications." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.apache.wicket.protocol.http.request.WebClientInfo.getRemoteAddr", - "jar": "wicket-core-7.8.0.jar", - "comment": "", - "parameters": [ - "org.apache.wicket.request.cycle.RequestCycle" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE078" - ], - "javadoc": { - "method": "Loads the native library specified by the filename argument. The filename argument must be an absolute path name. If the filename argument, when stripped of any platform-specific library prefix, path, and file extension, indicates a library whose name is, for example, L, and a native library called L is statically linked with the VM, then the JNI_OnLoad_L function exported by the library is invoked rather than attempting to load a dynamic library. A filename matching the argument does not have to exist in the file system. See the JNI Specification for more details. Otherwise, the filename argument is mapped to a native library image in an implementation-dependent manner. The call System.load(name) is effectively equivalent to the call: Runtime.getRuntime().load(name)", - "class": "The System class contains several useful class fields and methods. It cannot be instantiated. Among the facilities provided by the System class are standard input, standard output, and error output streams; access to externally defined properties and environment variables; a means of loading files and libraries; and a utility method for quickly copying a portion of an array." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.lang.System.load", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/hc.apache.org\/httpclient-3.x\/apidocs\/org\/apache\/commons\/httpclient\/auth\/NTLMScheme.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Produces NTLM authorization string for the given set of {@link Credentials}.", - "class": "An implementation of the Microsoft proprietary NTLM authentication scheme. For a detailed explanation of the NTLM scheme please see http:\/\/davenport.sourceforge.net\/ntlm.html." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.commons.httpclient.auth.NTLMScheme.authenticate", - "jar": null, - "comment": "Depricated method. The credentials are provided. The authentication string is returned.", - "parameters": [ - "org.apache.commons.httpclient.Credentials", - "java.lang.String", - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.oracle.com\/javase\/7\/docs\/api\/javax\/security\/auth\/login\/LoginContext.html", - "type": [ - "auth-unsafe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "ldap", - "discovery": "manual", - "name": "com.novell.ldap.spml.NoAuthImpl.logout", - "jar": null, - "comment": "Puts the program is an unauthenticated state.", - "parameters": [], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "http:\/\/grepcode.com\/file\/repo1.maven.org\/maven2\/org.apache.axis2\/axis2-kernel\/1.4\/org\/apache\/axis2\/util\/Utils.java", - "type": [ - "sanitizer" - ], - "cwe": [ - "CWE079", - "CWE601" - ], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.axis2.util.Utils.sanitizeWebOutput", - "jar": null, - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring-security\/site\/docs\/current\/apidocs\/org\/springframework\/security\/util\/FieldUtils.html", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "", - "class": "Offers static methods for directly manipulating fields." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.springframework.security.util.FieldUtils.setProtectedFieldValue", - "jar": null, - "comment": "Counter example for sanitizer (set)", - "parameters": [ - "java.lang.String", - "java.lang.Object", - "java.lang.Object" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring-framework\/docs\/current\/javadoc-api\/org\/springframework\/mock\/web\/MockBodyContent.html", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "Print an array of characters and then terminate the line. This method behaves as though it invokes print(char[]) and then println().", - "class": "Mock implementation of the {@link javax.servlet.jsp.tagext.BodyContent} class. Used for testing the web framework; only necessary for testing applications when testing custom JSP tags." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.mock.web.MockBodyContent.println", - "jar": null, - "comment": "Sink", - "parameters": [ - "char[]" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/hc.apache.org\/httpclient-3.x\/xref\/org\/apache\/commons\/httpclient\/HttpMethodDirector.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "", - "class": "Handles the process of executing a method including authentication, redirection and retries." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.commons.httpclient.HttpMethodDirector.authenticateHost", - "jar": null, - "comment": "The authentication string is added to the http method.", - "parameters": [ - "org.apache.commons.httpclient.HttpMethod" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Performs percent-encoding of a URL according to RFC 3986. The provided URL is assumed to a valid URL. This method does not do any checking on the quality or safety of the URL itself. In many applications it may be better to use {@link java.net.URI} instead. Note: this is a particularly dangerous context to put untrusted content in, as for example a \"javascript:\" URL provided by a malicious user would be \"properly\" escaped, and still execute. Encoding Table The following characters are not encoded: U+20: ! # $ & ' ( ) * + , - . \/ 0 1 2 3 4 5 6 7 8 9 : ; = ?\n U+40: @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ ] _\n U+60: a b c d e f g h i j k l m n o p q r s t u v w x y z ~\n Encoding Notes The single-quote character({@code '}) is not encoded. This encoding is not intended to be used standalone. The output should be encoded to the target context. For example: {@code ...}. (Note, the single-quote character ({@code '}) is not encoded.) URL encoding is an encoding for bytes, not unicode. The input string is thus first encoded as a sequence of UTF-8 byte. The bytes are then encoded as {@code %xx} where {@code xx} is the two-digit hexidecimal representation of the byte. (The implementation does this as one step for performance.) Surrogate pairs are first decoded to a Unicode code point before encoding as UTF-8. Invalid characters (e.g. partial or invalid surrogate pairs), are replaced with a hyphen ({@code -}) character.", - "class": "Encode -- fluent interface for contextual encoding. Example usage in a JSP: \" \/>\n There are two versions of each contextual encoding method. The first takes a {@code String} argument and returns the encoded version as a {@code String}. The second version writes the encoded version directly to a {@code Writer}. Please make sure to read and understand the context that the method encodes for. Encoding for the incorrect context will likely lead to exposing a cross-site scripting vulnerability." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.owasp.encoder.Encode.forUri", - "jar": "encoder-1.2.1.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/github.com\/spring-projects\/spring-security\/blob\/master\/config\/src\/main\/java\/org\/springframework\/security\/config\/http\/LogoutBeanDefinitionParser.java", - "type": [ - "auth-no-change", - "source" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862", - "CWE601" - ], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.config.http.LogoutBeanDefinitionParser.getLogoutRequestMatcher", - "jar": null, - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "org.springframework.beans.factory.config.BeanDefinition", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to return getHeader(String name) on the wrapped request object.", - "class": "Provides a convenient implementation of the HttpServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.HttpServletRequestWrapper.getHeader", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to return getParameterValues(String name) on the wrapped request object.", - "class": "Provides a convenient implementation of the ServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.ServletRequestWrapper.getParameterValues", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String[]", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/static.javadoc.io\/org.owasp.esapi\/esapi\/2.0.1\/org\/owasp\/esapi\/reference\/validation\/CreditCardValidationRule.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "", - "class": "A validator performs syntax and possibly semantic validation of Credit Card String from an untrusted source." - }, - "framework": "owaspesapi", - "discovery": "manual", - "name": "org.owasp.esapi.reference.validation.CreditCardValidationRule.setMaxCardLength", - "jar": null, - "comment": "Counter example for sanitizer (validation)", - "parameters": [ - "int" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [], - "cwe": [], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.web.socket.sockjs.transport.TransportHandlingSockJsService.access$200", - "jar": null, - "comment": "Counter example for sanitizer (implicit method)", - "parameters": [ - "org.springframework.web.socket.sockjs.transport.TransportHandlingSockJsService" - ], - "return": "org.apache.commons.logging.Log", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Loads all of the properties represented by the XML document on the specified input stream into this properties table. The XML document must have the following DOCTYPE declaration: \n Furthermore, the document must satisfy the properties DTD described above. An implementation is required to read XML documents that use the \"{@code UTF-8}\" or \"{@code UTF-16}\" encoding. An implementation may support additional encodings. The specified stream is closed after this method returns.", - "class": "The {@code Properties} class represents a persistent set of properties. The {@code Properties} can be saved to a stream or loaded from a stream. Each key and its corresponding value in the property list is a string. A property list can contain another property list as its \"defaults\"; this second property list is searched if the property key is not found in the original property list. Because {@code Properties} inherits from {@code Hashtable}, the {@code put} and {@code putAll} methods can be applied to a {@code Properties} object. Their use is strongly discouraged as they allow the caller to insert entries whose keys or values are not {@code Strings}. The {@code setProperty} method should be used instead. If the {@code store} or {@code save} method is called on a \"compromised\" {@code Properties} object that contains a non-{@code String} key or value, the call will fail. Similarly, the call to the {@code propertyNames} or {@code list} method will fail if it is called on a \"compromised\" {@code Properties} object that contains a non-{@code String} key. The {@link #load(java.io.Reader) load(Reader)} \/ {@link #store(java.io.Writer, java.lang.String) store(Writer, String)} methods load and store properties from and to a character based stream in a simple line-oriented format specified below. The {@link #load(java.io.InputStream) load(InputStream)} \/ {@link #store(java.io.OutputStream, java.lang.String) store(OutputStream, String)} methods work the same way as the load(Reader)\/store(Writer, String) pair, except the input\/output stream is encoded in ISO 8859-1 character encoding. Characters that cannot be directly represented in this encoding can be written using Unicode escapes as defined in section 3.3 of The Java™ Language Specification; only a single 'u' character is allowed in an escape sequence. The native2ascii tool can be used to convert property files to and from other character encodings. The {@link #loadFromXML(InputStream)} and {@link #storeToXML(OutputStream, String, String)} methods load and store properties in a simple XML format. By default the UTF-8 character encoding is used, however a specific encoding may be specified if required. Implementations are required to support UTF-8 and UTF-16 and may support other encodings. An XML properties document has the following DOCTYPE declaration: \n Note that the system URI (http:\/\/java.sun.com\/dtd\/properties.dtd) is not accessed when exporting or importing properties; it merely serves as a string to uniquely identify the DTD, which is: \n\n \n\n \n\n \n\n \n\n \n\n \n This class is thread-safe: multiple threads can share a single Properties object without the need for external synchronization." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "java.util.Properties.loadFromXML", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.io.InputStream" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to return getCharacterEncoding() on the wrapped request object.", - "class": "Provides a convenient implementation of the ServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.ServletRequestWrapper.getCharacterEncoding", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [], - "cwe": [], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.web.socket.server.standard.WebLogicRequestUpgradeStrategy.access$800", - "jar": null, - "comment": "Counter example for sanitizer (implicit method)", - "parameters": [ - "java.lang.String", - "java.lang.String", - "java.lang.Class[]" - ], - "return": "java.lang.reflect.Method", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/spring-security\/site\/docs\/current\/apidocs\/org\/springframework\/security\/config\/annotation\/web\/configurers\/LogoutConfigurer.html", - "type": [ - "auth-no-change", - "source" - ], - "cwe": [ - "CWE306" - ], - "javadoc": { - "method": "Gets the {@link LogoutHandler} instances that will be used.", - "class": "Adds logout support. Other {@link SecurityConfigurer} instances may invoke {@link #addLogoutHandler(LogoutHandler)} in the {@link #init(HttpSecurity)} phase. Security Filters The following Filters are populated {@link LogoutFilter} Shared Objects Created No shared Objects are created Shared Objects Used No shared objects are used." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.config.annotation.web.configurers.LogoutConfigurer.getLogoutHandlers", - "jar": null, - "comment": "", - "parameters": [], - "return": "java.util.List", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/hc.apache.org\/httpcomponents-client-ga\/httpclient\/apidocs\/org\/apache\/http\/impl\/client\/HttpAuthenticator.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.http.impl.client.HttpAuthenticator.authenticate", - "jar": null, - "comment": "Depricated method. The authentication string is added to the http response.", - "parameters": [ - "org.apache.http.HttpHost", - "org.apache.http.HttpResponse", - "org.apache.http.client.AuthenticationStrategy", - "org.apache.http.auth.AuthState", - "org.apache.http.protocol.HttpContext" - ], - "return": "boolean", - "dataIn": { - "parameters": [ - 0, - 1 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/spring\/docs\/3.2.8.RELEASE_to_3.2.9.RELEASE\/Spring%20Framework%203.2.8.RELEASE\/org\/springframework\/web\/util\/OpaqueUriComponents.html", - "type": [ - "sanitizer" - ], - "cwe": [ - "CWE079", - "CWE601" - ], - "javadoc": { - "method": "Encode all URI components using their specific encoding rules, and returns the result as a new {@code UriComponents} instance.", - "class": "Extension of {@link UriComponents} for opaque URIs." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.web.util.OpaqueUriComponents.encode", - "jar": null, - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "org.springframework.web.util.UriComponents", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [], - "cwe": [], - "javadoc": { - "method": "Helper method to write out the index to disk.", - "class": "Keeps an index of all blog entries from a specific author, allowing efficient access at runtime." - }, - "framework": "pebble", - "discovery": "manual", - "name": "net.sourceforge.pebble.index.AuthorIndex.writeIndex", - "jar": null, - "comment": "Counter example for sink", - "parameters": [], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/ws.apache.org\/xmlrpc\/apidocs\/org\/apache\/xmlrpc\/webserver\/XmlRpcServlet.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xmlrpc.webserver.XmlRpcServlet.class$", - "jar": null, - "comment": "Counter example for sanitizer (String as param, but implicit method)", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.Class", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/spring\/docs\/4.3.9.RELEASE\/javadoc-api\/org\/springframework\/format\/datetime\/joda\/DateTimeParser.html", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Parse a text String to produce a T.", - "class": "Parses Joda {@link DateTime} instances using a {@link DateTimeFormatter}." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.format.datetime.joda.DateTimeParser.parse", - "jar": null, - "comment": "Counter example for sources.", - "parameters": [ - "java.lang.String", - "java.util.Locale" - ], - "return": "org.joda.time.DateTime", - "dataIn": { - "parameters": [ - 1 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/spring-framework\/docs\/2.0.0\/api\/org\/springframework\/beans\/factory\/support\/DisposableBeanAdapter.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "Serializes a copy of the state of this class, filtering out non-serializable BeanPostProcessors.", - "class": "Adapter that implements the {@link DisposableBean} and {@link Runnable} interfaces performing various destruction steps on a given bean instance: DestructionAwareBeanPostProcessors; the bean implementing DisposableBean itself; a custom destroy method specified on the bean definition." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.beans.factory.support.DisposableBeanAdapter.writeReplace", - "jar": null, - "comment": "Counter example for sink", - "parameters": [], - "return": "java.lang.Object", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/lang\/String.html", - "type": [ - "sink", - "sanitizer" - ], - "cwe": [ - "CWE089", - "CWE078", - "CWE306", - "CWE079", - "CWE601" - ], - "javadoc": { - "method": "Replaces each substring of this string that matches the given regular expression with the given replacement. An invocation of this method of the form str{@code .replaceAll(}regex{@code ,} repl{@code )} yields exactly the same result as the expression {@link java.util.regex.Pattern}.{@link java.util.regex.Pattern#compile compile}(regex).{@link java.util.regex.Pattern#matcher(java.lang.CharSequence) matcher}(str).{@link java.util.regex.Matcher#replaceAll replaceAll}(repl) Note that backslashes ({@code \\}) and dollar signs ({@code $}) in the replacement string may cause the results to be different than if it were being treated as a literal replacement string; see {@link java.util.regex.Matcher#replaceAll Matcher.replaceAll}. Use {@link java.util.regex.Matcher#quoteReplacement} to suppress the special meaning of these characters, if desired.", - "class": "The {@code String} class represents character strings. All string literals in Java programs, such as {@code \"abc\"}, are implemented as instances of this class. Strings are constant; their values cannot be changed after they are created. String buffers support mutable strings. Because String objects are immutable they can be shared. For example: String str = \"abc\";\n is equivalent to: char data[] = {'a', 'b', 'c'};\n String str = new String(data);\n Here are some more examples of how strings can be used: System.out.println(\"abc\");\n String cde = \"cde\";\n System.out.println(\"abc\" + cde);\n String c = \"abc\".substring(2,3);\n String d = cde.substring(1, 2);\n The class {@code String} includes methods for examining individual characters of the sequence, for comparing strings, for searching strings, for extracting substrings, and for creating a copy of a string with all characters translated to uppercase or to lowercase. Case mapping is based on the Unicode Standard version specified by the {@link java.lang.Character Character} class. The Java language provides special support for the string concatenation operator ( + ), and for conversion of other objects to strings. String concatenation is implemented through the {@code StringBuilder}(or {@code StringBuffer}) class and its {@code append} method. String conversions are implemented through the method {@code toString}, defined by {@code Object} and inherited by all classes in Java. For additional information on string concatenation and conversion, see Gosling, Joy, and Steele, The Java Language Specification. Unless otherwise noted, passing a null argument to a constructor or method in this class will cause a {@link NullPointerException} to be thrown. A {@code String} represents a string in the UTF-16 format in which supplementary characters are represented by surrogate pairs (see the section Unicode Character Representations in the {@code Character} class for more information). Index values refer to {@code char} code units, so a supplementary character uses two positions in a {@code String}. The {@code String} class provides methods for dealing with Unicode code points (i.e., characters), in addition to those for dealing with Unicode code units (i.e., {@code char} values)." - }, - "framework": "generaljava", - "discovery": "manual", - "name": "java.lang.String.replaceAll", - "jar": null, - "comment": "", - "parameters": [ - "java.lang.String", - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0, - 1 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Log a CONFIG message. If the logger is currently enabled for the CONFIG message level then the given message is forwarded to all the registered output Handler objects.", - "class": "A Logger object is used to log messages for a specific system or application component. Loggers are normally named, using a hierarchical dot-separated namespace. Logger names can be arbitrary strings, but they should normally be based on the package name or class name of the logged component, such as java.net or javax.swing. In addition it is possible to create \"anonymous\" Loggers that are not stored in the Logger namespace. Logger objects may be obtained by calls on one of the getLogger factory methods. These will either create a new Logger or return a suitable existing Logger. It is important to note that the Logger returned by one of the {@code getLogger} factory methods may be garbage collected at any time if a strong reference to the Logger is not kept. Logging messages will be forwarded to registered Handler objects, which can forward the messages to a variety of destinations, including consoles, files, OS logs, etc. Each Logger keeps track of a \"parent\" Logger, which is its nearest existing ancestor in the Logger namespace. Each Logger has a \"Level\" associated with it. This reflects a minimum Level that this logger cares about. If a Logger's level is set to null, then its effective level is inherited from its parent, which may in turn obtain it recursively from its parent, and so on up the tree. The log level can be configured based on the properties from the logging configuration file, as described in the description of the LogManager class. However it may also be dynamically changed by calls on the Logger.setLevel method. If a logger's level is changed the change may also affect child loggers, since any child logger that has null as its level will inherit its effective level from its parent. On each logging call the Logger initially performs a cheap check of the request level (e.g., SEVERE or FINE) against the effective log level of the logger. If the request level is lower than the log level, the logging call returns immediately. After passing this initial (cheap) test, the Logger will allocate a LogRecord to describe the logging message. It will then call a Filter (if present) to do a more detailed check on whether the record should be published. If that passes it will then publish the LogRecord to its output Handlers. By default, loggers also publish to their parent's Handlers, recursively up the tree. Each Logger may have a {@code ResourceBundle} associated with it. The {@code ResourceBundle} may be specified by name, using the {@link #getLogger(java.lang.String, java.lang.String)} factory method, or by value - using the {@link #setResourceBundle(java.util.ResourceBundle) setResourceBundle} method. This bundle will be used for localizing logging messages. If a Logger does not have its own {@code ResourceBundle} or resource bundle name, then it will inherit the {@code ResourceBundle} or resource bundle name from its parent, recursively up the tree. Most of the logger output methods take a \"msg\" argument. This msg argument may be either a raw value or a localization key. During formatting, if the logger has (or inherits) a localization {@code ResourceBundle} and if the {@code ResourceBundle} has a mapping for the msg string, then the msg string is replaced by the localized value. Otherwise the original msg string is used. Typically, formatters use java.text.MessageFormat style formatting to format parameters, so for example a format string \"{0} {1}\" would format two parameters as strings. A set of methods alternatively take a \"msgSupplier\" instead of a \"msg\" argument. These methods take a {@link Supplier}{@code } function which is invoked to construct the desired log message only when the message actually is to be logged based on the effective log level thus eliminating unnecessary message construction. For example, if the developer wants to log system health status for diagnosis, with the String-accepting version, the code would look like: \n\n class DiagnosisMessages {\n static String systemHealthStatus() {\n \/\/ collect system health information\n ...\n }\n }\n ...\n logger.log(Level.FINER, DiagnosisMessages.systemHealthStatus());\n With the above code, the health status is collected unnecessarily even when the log level FINER is disabled. With the Supplier-accepting version as below, the status will only be collected when the log level FINER is enabled. \n\n logger.log(Level.FINER, DiagnosisMessages::systemHealthStatus);\n When looking for a {@code ResourceBundle}, the logger will first look at whether a bundle was specified using {@link #setResourceBundle(java.util.ResourceBundle) setResourceBundle}, and then only whether a resource bundle name was specified through the {@link #getLogger(java.lang.String, java.lang.String) getLogger} factory method. If no {@code ResourceBundle} or no resource bundle name is found, then it will use the nearest {@code ResourceBundle} or resource bundle name inherited from its parent tree. When a {@code ResourceBundle} was inherited or specified through the {@link #setResourceBundle(java.util.ResourceBundle) setResourceBundle} method, then that {@code ResourceBundle} will be used. Otherwise if the logger only has or inherited a resource bundle name, then that resource bundle name will be mapped to a {@code ResourceBundle} object, using the default Locale at the time of logging. When mapping resource bundle names to {@code ResourceBundle} objects, the logger will first try to use the Thread's {@linkplain java.lang.Thread#getContextClassLoader() context class loader} to map the given resource bundle name to a {@code ResourceBundle}. If the thread context class loader is {@code null}, it will try the {@linkplain java.lang.ClassLoader#getSystemClassLoader() system class loader} instead. If the {@code ResourceBundle} is still not found, it will use the class loader of the first caller of the {@link #getLogger(java.lang.String, java.lang.String) getLogger} factory method. Formatting (including localization) is the responsibility of the output Handler, which will typically call a Formatter. Note that formatting need not occur synchronously. It may be delayed until a LogRecord is actually written to an external sink. The logging methods are grouped in five main categories: There are a set of \"log\" methods that take a log level, a message string, and optionally some parameters to the message string. There are a set of \"logp\" methods (for \"log precise\") that are like the \"log\" methods, but also take an explicit source class name and method name. There are a set of \"logrb\" method (for \"log with resource bundle\") that are like the \"logp\" method, but also take an explicit resource bundle object for use in localizing the log message. There are convenience methods for tracing method entries (the \"entering\" methods), method returns (the \"exiting\" methods) and throwing exceptions (the \"throwing\" methods). Finally, there are a set of convenience methods for use in the very simplest cases, when a developer simply wants to log a simple string at a given log level. These methods are named after the standard Level names (\"severe\", \"warning\", \"info\", etc.) and take a single argument, a message string. For the methods that do not take an explicit source name and method name, the Logging framework will make a \"best effort\" to determine which class and method called into the logging method. However, it is important to realize that this automatically inferred information may only be approximate (or may even be quite wrong!). Virtual machines are allowed to do extensive optimizations when JITing and may entirely remove stack frames, making it impossible to reliably locate the calling class and method. All methods on Logger are multi-thread safe. Subclassing Information: Note that a LogManager class may provide its own implementation of named Loggers for any point in the namespace. Therefore, any subclasses of Logger (unless they are implemented in conjunction with a new LogManager class) should take care to obtain a Logger instance from the LogManager class and should delegate operations such as \"isLoggable\" and \"log(LogRecord)\" to that instance. Note that in order to intercept all logging output, subclasses need only override the log(LogRecord) method. All the other logging methods are implemented as calls on this log(LogRecord) method." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.util.logging.Logger.config", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/ws.apache.org\/xmlrpc\/apidocs\/org\/apache\/xmlrpc\/webserver\/RequestData.html", - "type": [ - "source" - ], - "cwe": [ - "CWE601" - ], - "javadoc": { - "method": "Returns the requests HTTP version.", - "class": "Web servers extension of {@link org.apache.xmlrpc.common.XmlRpcHttpRequestConfig}, which allows to store additional per request data." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xmlrpc.webserver.RequestData.getHttpVersion", - "jar": null, - "comment": "Counter example for sanitizer.", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/hc.apache.org\/httpclient-3.x\/xref\/org\/apache\/commons\/httpclient\/HttpMethodDirector.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "", - "class": "Handles the process of executing a method including authentication, redirection and retries." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.commons.httpclient.HttpMethodDirector.authenticate", - "jar": null, - "comment": "The authentication string is added to the http method.", - "parameters": [ - "org.apache.commons.httpclient.HttpMethod" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.oracle.com\/javase\/7\/docs\/api\/javax\/security\/auth\/login\/LoginContext.html", - "type": [ - "auth-unsafe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Logout the {@code Subject}. This method invokes the {@code logout} method for each {@code LoginModule} configured for this {@code LoginContext}. Each {@code LoginModule} performs its respective logout procedure which may include removing\/destroying {@code Principal} and {@code Credential} information from the {@code Subject} and state cleanup. Note that this method invokes all LoginModules configured for the application regardless of their respective {@code Configuration} flag parameters. Essentially this means that {@code Requisite} and {@code Sufficient} semantics are ignored for this method. This guarantees that proper cleanup and state restoration can take place.", - "class": "The {@code LoginContext} class describes the basic methods used to authenticate Subjects and provides a way to develop an application independent of the underlying authentication technology. A {@code Configuration} specifies the authentication technology, or {@code LoginModule}, to be used with a particular application. Different LoginModules can be plugged in under an application without requiring any modifications to the application itself. In addition to supporting pluggable authentication, this class also supports the notion of stacked authentication. Applications may be configured to use more than one LoginModule. For example, one could configure both a Kerberos LoginModule and a smart card LoginModule under an application. A typical caller instantiates a LoginContext with a name and a {@code CallbackHandler}. LoginContext uses the name as the index into a Configuration to determine which LoginModules should be used, and which ones must succeed in order for the overall authentication to succeed. The {@code CallbackHandler} is passed to the underlying LoginModules so they may communicate and interact with users (prompting for a username and password via a graphical user interface, for example). Once the caller has instantiated a LoginContext, it invokes the {@code login} method to authenticate a {@code Subject}. The {@code login} method invokes the configured modules to perform their respective types of authentication (username\/password, smart card pin verification, etc.). Note that the LoginModules will not attempt authentication retries nor introduce delays if the authentication fails. Such tasks belong to the LoginContext caller. If the {@code login} method returns without throwing an exception, then the overall authentication succeeded. The caller can then retrieve the newly authenticated Subject by invoking the {@code getSubject} method. Principals and Credentials associated with the Subject may be retrieved by invoking the Subject's respective {@code getPrincipals}, {@code getPublicCredentials}, and {@code getPrivateCredentials} methods. To logout the Subject, the caller calls the {@code logout} method. As with the {@code login} method, this {@code logout} method invokes the {@code logout} method for the configured modules. A LoginContext should not be used to authenticate more than one Subject. A separate LoginContext should be used to authenticate each different Subject. The following documentation applies to all LoginContext constructors: {@code Subject} If the constructor has a Subject input parameter, the LoginContext uses the caller-specified Subject object. If the caller specifies a {@code null} Subject and a {@code null} value is permitted, the LoginContext instantiates a new Subject. If the constructor does not have a Subject input parameter, the LoginContext instantiates a new Subject. {@code Configuration} If the constructor has a Configuration input parameter and the caller specifies a non-null Configuration, the LoginContext uses the caller-specified Configuration. If the constructor does not have a Configuration input parameter, or if the caller specifies a {@code null} Configuration object, the constructor uses the following call to get the installed Configuration: config = Configuration.getConfiguration();\n For both cases, the name argument given to the constructor is passed to the {@code Configuration.getAppConfigurationEntry} method. If the Configuration has no entries for the specified name, then the {@code LoginContext} calls {@code getAppConfigurationEntry} with the name, \"other\" (the default entry name). If there is no entry for \"other\", then a {@code LoginException} is thrown. When LoginContext uses the installed Configuration, the caller requires the createLoginContext.name and possibly createLoginContext.other AuthPermissions. Furthermore, the LoginContext will invoke configured modules from within an {@code AccessController.doPrivileged} call so that modules that perform security-sensitive tasks (such as connecting to remote hosts, and updating the Subject) will require the respective permissions, but the callers of the LoginContext will not require those permissions. When LoginContext uses a caller-specified Configuration, the caller does not require any createLoginContext AuthPermission. The LoginContext saves the {@code AccessControlContext} for the caller, and invokes the configured modules from within an {@code AccessController.doPrivileged} call constrained by that context. This means the caller context (stored when the LoginContext was created) must have sufficient permissions to perform any security-sensitive tasks that the modules may perform. {@code CallbackHandler} If the constructor has a CallbackHandler input parameter, the LoginContext uses the caller-specified CallbackHandler object. If the constructor does not have a CallbackHandler input parameter, or if the caller specifies a {@code null} CallbackHandler object (and a {@code null} value is permitted), the LoginContext queries the {@code auth.login.defaultCallbackHandler} security property for the fully qualified class name of a default handler implementation. If the security property is not set, then the underlying modules will not have a CallbackHandler for use in communicating with users. The caller thus assumes that the configured modules have alternative means for authenticating the user. When the LoginContext uses the installed Configuration (instead of a caller-specified Configuration, see above), then this LoginContext must wrap any caller-specified or default CallbackHandler implementation in a new CallbackHandler implementation whose {@code handle} method implementation invokes the specified CallbackHandler's {@code handle} method in a {@code java.security.AccessController.doPrivileged} call constrained by the caller's current {@code AccessControlContext}." - }, - "framework": "generaljava", - "discovery": "manual", - "name": "javax.security.auth.login.LoginContext.logout", - "jar": null, - "comment": "Puts the program is an unauthenticated state.", - "parameters": [], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [], - "cwe": [], - "javadoc": { - "method": "Appends the toString that would be produced by {@code Object} if a class did not override toString itself. {@code null} will throw a NullPointerException for either of the two parameters. ObjectUtils.identityToString(builder, \"\") = builder.append(\"java.lang.String@1e23\"\n ObjectUtils.identityToString(builder, Boolean.TRUE) = builder.append(\"java.lang.Boolean@7fa\"\n ObjectUtils.identityToString(builder, Boolean.TRUE) = builder.append(\"java.lang.Boolean@7fa\")", - "class": "Operations on {@code Object}. This class tries to handle {@code null} input gracefully. An exception will generally not be thrown for a {@code null} input. Each method documents its behaviour in more detail. #ThreadSafe#" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.commons.lang3.ObjectUtils.identityToString", - "jar": null, - "comment": "Counter example for sanitizer", - "parameters": [ - "java.lang.StringBuilder", - "java.lang.Object" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/commons.apache.org\/proper\/commons-io\/javadocs\/api-2.5\/org\/apache\/commons\/io\/HexDump.html", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Dump an array of bytes to an OutputStream. The output is formatted for human inspection, with a hexadecimal offset followed by the hexadecimal values of the next 16 bytes of data and the printable ASCII characters (if any) that those bytes represent printed per each line of output. The offset argument specifies the start offset of the data array within a larger entity like a file or an incoming stream. For example, if the data array contains the third kibibyte of a file, then the offset argument should be set to 2048. The offset value printed at the beginning of each line indicates where in that larger entity the first byte on that line is located. All bytes between the given index (inclusive) and the end of the data array are dumped.", - "class": "Dumps data in hexadecimal format. Provides a single function to take an array of bytes and display it in hexadecimal form. Origin of code: POI." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.commons.io.HexDump.dump", - "jar": null, - "comment": "Sink", - "parameters": [ - "byte[]", - "long", - "java.io.OutputStream", - "int" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0, - 2 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "Writes a String to the client, followed by a carriage return-line feed (CRLF).", - "class": "Provides an output stream for sending binary data to the client. A ServletOutputStream object is normally retrieved via the {@link ServletResponse#getOutputStream} method. This is an abstract class that the servlet container implements. Subclasses of this class must implement the java.io.OutputStream.write(int) method." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.ServletOutputStream.println", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/www.novell.com\/documentation\/developer\/jldap\/jldapenu\/api\/com\/novell\/ldap\/LDAPConnection.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Connects to the specified host and port. If this LDAPConnection object represents an open connection, the connection is closed first before the new connection is opened. At this point, there is no authentication, and any operations are conducted as an anonymous client. When more than one host name is specified, each host is contacted in turn until a connection can be established.", - "class": "The central class that encapsulates the connection to a directory server through the LDAP protocol. LDAPConnection objects are used to perform common LDAP operations such as search, modify and add. In addition, LDAPConnection objects allow you to bind to an LDAP server, set connection and search constraints, and perform several other tasks. An LDAPConnection object is not connected on construction and can only be connected to one server at one port. Multiple threads may share this single connection, typically by cloning the connection object, one for each thread. An application may have more than one LDAPConnection object, connected to the same or different directory servers. Sample Code: Search.java" - }, - "framework": "ldap", - "discovery": "manual", - "name": "com.novell.ldap.LDAPConnection.connect", - "jar": null, - "comment": "Create a connection to the host and port. ", - "parameters": [ - "java.lang.String", - "int" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Creates a new FileReader, given the name of the file to read from.", - "class": "Convenience class for reading character files. The constructors of this class assume that the default character encoding and the default byte-buffer size are appropriate. To specify these values yourself, construct an InputStreamReader on a FileInputStream. FileReader is meant for reading streams of characters. For reading streams of raw bytes, consider using a FileInputStream." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.io.FileReader.", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Creates a new File instance by converting the given pathname string into an abstract pathname. If the given string is the empty string, then the result is the empty abstract pathname.", - "class": "An abstract representation of file and directory pathnames. User interfaces and operating systems use system-dependent pathname strings to name files and directories. This class presents an abstract, system-independent view of hierarchical pathnames. An abstract pathname has two components: An optional system-dependent prefix string, such as a disk-drive specifier, \"\/\" for the UNIX root directory, or \"\\\\\\\\\" for a Microsoft Windows UNC pathname, and A sequence of zero or more string names. The first name in an abstract pathname may be a directory name or, in the case of Microsoft Windows UNC pathnames, a hostname. Each subsequent name in an abstract pathname denotes a directory; the last name may denote either a directory or a file. The empty abstract pathname has no prefix and an empty name sequence. The conversion of a pathname string to or from an abstract pathname is inherently system-dependent. When an abstract pathname is converted into a pathname string, each name is separated from the next by a single copy of the default separator character. The default name-separator character is defined by the system property file.separator, and is made available in the public static fields {@link #separator} and {@link #separatorChar} of this class. When a pathname string is converted into an abstract pathname, the names within it may be separated by the default name-separator character or by any other name-separator character that is supported by the underlying system. A pathname, whether abstract or in string form, may be either absolute or relative. An absolute pathname is complete in that no other information is required in order to locate the file that it denotes. A relative pathname, in contrast, must be interpreted in terms of information taken from some other pathname. By default the classes in the java.io package always resolve relative pathnames against the current user directory. This directory is named by the system property user.dir, and is typically the directory in which the Java virtual machine was invoked. The parent of an abstract pathname may be obtained by invoking the {@link #getParent} method of this class and consists of the pathname's prefix and each name in the pathname's name sequence except for the last. Each directory's absolute pathname is an ancestor of any File object with an absolute abstract pathname which begins with the directory's absolute pathname. For example, the directory denoted by the abstract pathname \"\/usr\" is an ancestor of the directory denoted by the pathname \"\/usr\/local\/bin\". The prefix concept is used to handle root directories on UNIX platforms, and drive specifiers, root directories and UNC pathnames on Microsoft Windows platforms, as follows: For UNIX platforms, the prefix of an absolute pathname is always \"\/\". Relative pathnames have no prefix. The abstract pathname denoting the root directory has the prefix \"\/\" and an empty name sequence. For Microsoft Windows platforms, the prefix of a pathname that contains a drive specifier consists of the drive letter followed by \":\" and possibly followed by \"\\\\\" if the pathname is absolute. The prefix of a UNC pathname is \"\\\\\\\\\"; the hostname and the share name are the first two names in the name sequence. A relative pathname that does not specify a drive has no prefix. Instances of this class may or may not denote an actual file-system object such as a file or a directory. If it does denote such an object then that object resides in a partition. A partition is an operating system-specific portion of storage for a file system. A single storage device (e.g. a physical disk-drive, flash memory, CD-ROM) may contain multiple partitions. The object, if any, will reside on the partition named by some ancestor of the absolute form of this pathname. A file system may implement restrictions to certain operations on the actual file-system object, such as reading, writing, and executing. These restrictions are collectively known as access permissions. The file system may have multiple sets of access permissions on a single object. For example, one set may apply to the object's owner, and another may apply to all other users. The access permissions on an object may cause some methods in this class to fail. Instances of the File class are immutable; that is, once created, the abstract pathname represented by a File object will never change. Interoperability with {@code java.nio.file} package The {@code java.nio.file} package defines interfaces and classes for the Java virtual machine to access files, file attributes, and file systems. This API may be used to overcome many of the limitations of the {@code java.io.File} class. The {@link #toPath toPath} method may be used to obtain a {@link Path} that uses the abstract path represented by a {@code File} object to locate a file. The resulting {@code Path} may be used with the {@link java.nio.file.Files} class to provide more efficient and extensive access to additional file operations, file attributes, and I\/O exceptions to help diagnose errors when an operation on a file fails." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.io.File.", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring-framework\/docs\/current\/javadoc-api\/org\/springframework\/aop\/support\/StaticMethodMatcher.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.aop.support.StaticMethodMatcher.isRuntime", - "jar": null, - "comment": "Counter example for authentication (none)", - "parameters": [], - "return": "boolean", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Log a WARNING message. If the logger is currently enabled for the WARNING message level then the given message is forwarded to all the registered output Handler objects.", - "class": "A Logger object is used to log messages for a specific system or application component. Loggers are normally named, using a hierarchical dot-separated namespace. Logger names can be arbitrary strings, but they should normally be based on the package name or class name of the logged component, such as java.net or javax.swing. In addition it is possible to create \"anonymous\" Loggers that are not stored in the Logger namespace. Logger objects may be obtained by calls on one of the getLogger factory methods. These will either create a new Logger or return a suitable existing Logger. It is important to note that the Logger returned by one of the {@code getLogger} factory methods may be garbage collected at any time if a strong reference to the Logger is not kept. Logging messages will be forwarded to registered Handler objects, which can forward the messages to a variety of destinations, including consoles, files, OS logs, etc. Each Logger keeps track of a \"parent\" Logger, which is its nearest existing ancestor in the Logger namespace. Each Logger has a \"Level\" associated with it. This reflects a minimum Level that this logger cares about. If a Logger's level is set to null, then its effective level is inherited from its parent, which may in turn obtain it recursively from its parent, and so on up the tree. The log level can be configured based on the properties from the logging configuration file, as described in the description of the LogManager class. However it may also be dynamically changed by calls on the Logger.setLevel method. If a logger's level is changed the change may also affect child loggers, since any child logger that has null as its level will inherit its effective level from its parent. On each logging call the Logger initially performs a cheap check of the request level (e.g., SEVERE or FINE) against the effective log level of the logger. If the request level is lower than the log level, the logging call returns immediately. After passing this initial (cheap) test, the Logger will allocate a LogRecord to describe the logging message. It will then call a Filter (if present) to do a more detailed check on whether the record should be published. If that passes it will then publish the LogRecord to its output Handlers. By default, loggers also publish to their parent's Handlers, recursively up the tree. Each Logger may have a {@code ResourceBundle} associated with it. The {@code ResourceBundle} may be specified by name, using the {@link #getLogger(java.lang.String, java.lang.String)} factory method, or by value - using the {@link #setResourceBundle(java.util.ResourceBundle) setResourceBundle} method. This bundle will be used for localizing logging messages. If a Logger does not have its own {@code ResourceBundle} or resource bundle name, then it will inherit the {@code ResourceBundle} or resource bundle name from its parent, recursively up the tree. Most of the logger output methods take a \"msg\" argument. This msg argument may be either a raw value or a localization key. During formatting, if the logger has (or inherits) a localization {@code ResourceBundle} and if the {@code ResourceBundle} has a mapping for the msg string, then the msg string is replaced by the localized value. Otherwise the original msg string is used. Typically, formatters use java.text.MessageFormat style formatting to format parameters, so for example a format string \"{0} {1}\" would format two parameters as strings. A set of methods alternatively take a \"msgSupplier\" instead of a \"msg\" argument. These methods take a {@link Supplier}{@code } function which is invoked to construct the desired log message only when the message actually is to be logged based on the effective log level thus eliminating unnecessary message construction. For example, if the developer wants to log system health status for diagnosis, with the String-accepting version, the code would look like: \n\n class DiagnosisMessages {\n static String systemHealthStatus() {\n \/\/ collect system health information\n ...\n }\n }\n ...\n logger.log(Level.FINER, DiagnosisMessages.systemHealthStatus());\n With the above code, the health status is collected unnecessarily even when the log level FINER is disabled. With the Supplier-accepting version as below, the status will only be collected when the log level FINER is enabled. \n\n logger.log(Level.FINER, DiagnosisMessages::systemHealthStatus);\n When looking for a {@code ResourceBundle}, the logger will first look at whether a bundle was specified using {@link #setResourceBundle(java.util.ResourceBundle) setResourceBundle}, and then only whether a resource bundle name was specified through the {@link #getLogger(java.lang.String, java.lang.String) getLogger} factory method. If no {@code ResourceBundle} or no resource bundle name is found, then it will use the nearest {@code ResourceBundle} or resource bundle name inherited from its parent tree. When a {@code ResourceBundle} was inherited or specified through the {@link #setResourceBundle(java.util.ResourceBundle) setResourceBundle} method, then that {@code ResourceBundle} will be used. Otherwise if the logger only has or inherited a resource bundle name, then that resource bundle name will be mapped to a {@code ResourceBundle} object, using the default Locale at the time of logging. When mapping resource bundle names to {@code ResourceBundle} objects, the logger will first try to use the Thread's {@linkplain java.lang.Thread#getContextClassLoader() context class loader} to map the given resource bundle name to a {@code ResourceBundle}. If the thread context class loader is {@code null}, it will try the {@linkplain java.lang.ClassLoader#getSystemClassLoader() system class loader} instead. If the {@code ResourceBundle} is still not found, it will use the class loader of the first caller of the {@link #getLogger(java.lang.String, java.lang.String) getLogger} factory method. Formatting (including localization) is the responsibility of the output Handler, which will typically call a Formatter. Note that formatting need not occur synchronously. It may be delayed until a LogRecord is actually written to an external sink. The logging methods are grouped in five main categories: There are a set of \"log\" methods that take a log level, a message string, and optionally some parameters to the message string. There are a set of \"logp\" methods (for \"log precise\") that are like the \"log\" methods, but also take an explicit source class name and method name. There are a set of \"logrb\" method (for \"log with resource bundle\") that are like the \"logp\" method, but also take an explicit resource bundle object for use in localizing the log message. There are convenience methods for tracing method entries (the \"entering\" methods), method returns (the \"exiting\" methods) and throwing exceptions (the \"throwing\" methods). Finally, there are a set of convenience methods for use in the very simplest cases, when a developer simply wants to log a simple string at a given log level. These methods are named after the standard Level names (\"severe\", \"warning\", \"info\", etc.) and take a single argument, a message string. For the methods that do not take an explicit source name and method name, the Logging framework will make a \"best effort\" to determine which class and method called into the logging method. However, it is important to realize that this automatically inferred information may only be approximate (or may even be quite wrong!). Virtual machines are allowed to do extensive optimizations when JITing and may entirely remove stack frames, making it impossible to reliably locate the calling class and method. All methods on Logger are multi-thread safe. Subclassing Information: Note that a LogManager class may provide its own implementation of named Loggers for any point in the namespace. Therefore, any subclasses of Logger (unless they are implemented in conjunction with a new LogManager class) should take care to obtain a Logger instance from the LogManager class and should delegate operations such as \"isLoggable\" and \"log(LogRecord)\" to that instance. Note that in order to intercept all logging output, subclasses need only override the log(LogRecord) method. All the other logging methods are implemented as calls on this log(LogRecord) method." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.util.logging.Logger.warning", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Returns a {@code String} value for a CSV column enclosed in double quotes, if required. If the value contains a comma, newline or double quote, then the String value is returned enclosed in double quotes. Any double quote characters in the value are escaped with another double quote. If the value does not contain a comma, newline or double quote, then the String value is returned unchanged. see Wikipedia and RFC 4180.", - "class": "Escapes and unescapes {@code String}s for Java, Java Script, HTML and XML. #ThreadSafe#" - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.apache.commons.lang3.StringEscapeUtils.escapeCsv", - "jar": "commons-lang3-3.10.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Decodes a {@code application\/x-www-form-urlencoded} string using a specific encoding scheme. The supplied encoding is used to determine what characters are represented by any consecutive sequences of the form \"{@code %xy}\". Note: The World Wide Web Consortium Recommendation states that UTF-8 should be used. Not doing so may introduce incompatibilities.", - "class": "Utility class for HTML form decoding. This class contains static methods for decoding a String from the application\/x-www-form-urlencoded MIME format. The conversion process is the reverse of that used by the URLEncoder class. It is assumed that all characters in the encoded string are one of the following: \"{@code a}\" through \"{@code z}\", \"{@code A}\" through \"{@code Z}\", \"{@code 0}\" through \"{@code 9}\", and \"{@code -}\", \"{@code _}\", \"{@code .}\", and \"{@code *}\". The character \"{@code %}\" is allowed but is interpreted as the start of a special escaped sequence. The following rules are applied in the conversion: The alphanumeric characters \"{@code a}\" through \"{@code z}\", \"{@code A}\" through \"{@code Z}\" and \"{@code 0}\" through \"{@code 9}\" remain the same. The special characters \"{@code .}\", \"{@code -}\", \"{@code *}\", and \"{@code _}\" remain the same. The plus sign \"{@code +}\" is converted into a space character \" \" . A sequence of the form \"{@code %xy}\" will be treated as representing a byte where xy is the two-digit hexadecimal representation of the 8 bits. Then, all substrings that contain one or more of these byte sequences consecutively will be replaced by the character(s) whose encoding would result in those consecutive bytes. The encoding scheme used to decode these characters may be specified, or if unspecified, the default encoding of the platform will be used. There are two possible ways in which this decoder could deal with illegal strings. It could either leave illegal characters alone or it could throw an {@link java.lang.IllegalArgumentException}. Which approach the decoder takes is left to the implementation." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.net.URLDecoder.decode", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.lang.String", - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "The default behavior of this method is to call addDateHeader(String name, long date) on the wrapped response object.", - "class": "Provides a convenient implementation of the HttpServletResponse interface that can be subclassed by developers wishing to adapt the response from a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped response object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.HttpServletResponseWrapper.addDateHeader", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [ - "java.lang.String", - "long" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Turn special characters into escaped characters conforming to JavaScript. Handles complete character set defined in HTML 4.01 recommendation.", - "class": "Utility class for JavaScript escaping. Escapes based on the JavaScript 1.5 recommendation. Reference: Core JavaScript 1.5 Guide" - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.springframework.web.util.JavaScriptUtils.javaScriptEscape", - "jar": "spring-web-4.3.9.RELEASE.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.apache.wicket.protocol.http.ClientProperties.getNavigatorLanguage", - "jar": "wicket-core-7.8.0.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE089" - ], - "javadoc": { - "method": "Execute a SQL statement that retruns a single ResultSet", - "class": "A Statement object is used for executing a static SQL statement and obtaining the results produced by it. Only one ResultSet per Statement can be open at any point in time. Therefore, if the reading of one ResultSet is interleaved with the reading of another, each must have been generated by different Statements. All statement execute methods implicitly close a statement's current ResultSet if an open one exists." - }, - "framework": "java", - "discovery": "manual", - "name": "com.mysql.jdbc.Statement.executeQuery", - "jar": null, - "comment": "Sink", - "parameters": [ - "java.lang.String" - ], - "return": "java.sql.ResultSet", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Unescapes any Java literals found in the {@code String}. For example, it will turn a sequence of {@code '\\'} and {@code 'n'} into a newline character, unless the {@code '\\'} is preceded by another {@code '\\'}.", - "class": "Escapes and unescapes {@code String}s for Java, Java Script, HTML and XML. #ThreadSafe#" - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.apache.commons.lang3.StringEscapeUtils.unescapeJava", - "jar": "commons-lang3-3.10.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/github.com\/scribejava\/scribejava\/blob\/master\/scribejava-core\/src\/main\/java\/com\/github\/scribejava\/core\/oauth\/OAuth20Service.java", - "type": [ - "auth-safe-state", - "sink" - ], - "cwe": [ - "CWE306" - ], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "scribejava", - "discovery": "manual", - "name": "com.github.scribejava.core.oauth.OAuth20Service.sendAccessTokenRequestAsync", - "jar": null, - "comment": "Authenticates the request", - "parameters": [ - "com.github.scribejava.core.model.OAuthRequestAsync", - "com.github.scribejava.core.model.OAuthAsyncRequestCallback" - ], - "return": "java.util.concurrent.Future", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Reads a line of text. A line is considered to be terminated by any one of a line feed ('\\n'), a carriage return ('\\r'), or a carriage return followed immediately by a linefeed.", - "class": "Reads text from a character-input stream, buffering characters so as to provide for the efficient reading of characters, arrays, and lines. The buffer size may be specified, or the default size may be used. The default is large enough for most purposes. In general, each read request made of a Reader causes a corresponding read request to be made of the underlying character or byte stream. It is therefore advisable to wrap a BufferedReader around any Reader whose read() operations may be costly, such as FileReaders and InputStreamReaders. For example, BufferedReader in\n = new BufferedReader(new FileReader(\"foo.in\"));\n will buffer the input from the specified file. Without buffering, each invocation of read() or readLine() could cause bytes to be read from the file, converted into characters, and then returned, which can be very inefficient. Programs that use DataInputStreams for textual input can be localized by replacing each DataInputStream with an appropriate BufferedReader." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "java.io.BufferedReader.readLine", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Encoder for XML and XHTML. See {@link #forHtml(String)} for a description of the encoding and context.", - "class": "Encode -- fluent interface for contextual encoding. Example usage in a JSP: \" \/>\n There are two versions of each contextual encoding method. The first takes a {@code String} argument and returns the encoded version as a {@code String}. The second version writes the encoded version directly to a {@code Writer}. Please make sure to read and understand the context that the method encodes for. Encoding for the incorrect context will likely lead to exposing a cross-site scripting vulnerability." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.owasp.encoder.Encode.forXml", - "jar": "encoder-1.2.1.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring\/docs\/4.3.9.RELEASE\/javadoc-api\/org\/springframework\/mock\/web\/portlet\/MockPortletRequest.html", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "", - "class": "Mock implementation of the {@link javax.portlet.PortletRequest} interface." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.mock.web.portlet.MockPortletRequest.setParameters", - "jar": null, - "comment": "Sink", - "parameters": [ - "java.util.Map" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/github.com\/OWASP\/WebGoat\/blob\/master\/webgoat\/src\/main\/java\/org\/owasp\/webgoat\/session\/RandomLessonTracker.java", - "type": [], - "cwe": [], - "javadoc": { - "method": "hasCompleted.", - "class": "RandomLessonTracker class." - }, - "framework": "webgoat", - "discovery": "manual", - "name": "org.owasp.webgoat.session.RandomLessonTracker.hasCompleted", - "jar": null, - "comment": "Counter example for sanitizer (has)", - "parameters": [ - "java.lang.String" - ], - "return": "boolean", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/spring-security\/site\/docs\/current\/apidocs\/org\/springframework\/security\/crypto\/password\/StandardPasswordEncoder.html", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Encode the raw password. Generally, a good encoding algorithm applies a SHA-1 or greater hash combined with an 8-byte or greater randomly generated salt.", - "class": "A standard {@code PasswordEncoder} implementation that uses SHA-256 hashing with 1024 iterations and a random 8-byte random salt value. It uses an additional system-wide secret value to provide additional protection. The digest algorithm is invoked on the concatenated bytes of the salt, secret and password. If you are developing a new system, {@link org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder} is a better choice both in terms of security and interoperability with other languages." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.crypto.password.StandardPasswordEncoder.encode", - "jar": null, - "comment": "", - "parameters": [ - "java.lang.CharSequence", - "byte[]" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0, - 1 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to return getProtocol() on the wrapped request object.", - "class": "Provides a convenient implementation of the ServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.ServletRequestWrapper.getProtocol", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Translates a string into {@code application\/x-www-form-urlencoded} format using a specific encoding scheme. This method uses the supplied encoding scheme to obtain the bytes for unsafe characters. Note: The World Wide Web Consortium Recommendation states that UTF-8 should be used. Not doing so may introduce incompatibilities.", - "class": "Utility class for HTML form encoding. This class contains static methods for converting a String to the application\/x-www-form-urlencoded MIME format. For more information about HTML form encoding, consult the HTML specification. When encoding a String, the following rules apply: The alphanumeric characters \"{@code a}\" through \"{@code z}\", \"{@code A}\" through \"{@code Z}\" and \"{@code 0}\" through \"{@code 9}\" remain the same. The special characters \"{@code .}\", \"{@code -}\", \"{@code *}\", and \"{@code _}\" remain the same. The space character \" \" is converted into a plus sign \"{@code +}\". All other characters are unsafe and are first converted into one or more bytes using some encoding scheme. Then each byte is represented by the 3-character string \"{@code %xy}\", where xy is the two-digit hexadecimal representation of the byte. The recommended encoding scheme to use is UTF-8. However, for compatibility reasons, if an encoding is not specified, then the default encoding of the platform is used. For example using UTF-8 as the encoding scheme the string \"The string ü@foo-bar\" would get converted to \"The+string+%C3%BC%40foo-bar\" because in UTF-8 the character ü is encoded as two bytes C3 (hex) and BC (hex), and the character @ is encoded as one byte 40 (hex)." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.net.URLEncoder.encode", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.lang.String", - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "The default behavior of this method is to call setContentType(String type) on the wrapped response object.", - "class": "Provides a convenient implementation of the ServletResponse interface that can be subclassed by developers wishing to adapt the response from a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped response object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.ServletResponseWrapper.setContentType", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Turn HTML character references into their plain text UNICODE equivalent. Handles complete character set defined in HTML 4.01 recommendation and all reference types (decimal, hex, and entity). Correctly converts the following formats: &#Entity; - (Example: &) case sensitive &#Decimal; - (Example: D) &#xHex; - (Example: å) case insensitive Gracefully handles malformed character references by copying original characters as is when encountered. Reference: http:\/\/www.w3.org\/TR\/html4\/sgml\/entities.html", - "class": "Utility class for HTML escaping. Escapes and unescapes based on the W3C HTML 4.01 recommendation, handling character entity references. Reference: http:\/\/www.w3.org\/TR\/html4\/charset.html For a comprehensive set of String escaping utilities, consider Apache Commons Lang and its StringEscapeUtils class. We are not using that class here to avoid a runtime dependency on Commons Lang just for HTML escaping. Furthermore, Spring's HTML escaping is more flexible and 100% HTML 4.0 compliant." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.springframework.web.util.HtmlUtils.htmlUnescape", - "jar": "spring-web-4.3.9.RELEASE.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "http:\/\/people.apache.org\/~ruwan\/axis2\/site\/1.6.0\/api\/org\/apache\/axis2\/description\/AxisService.html", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Prints generic WSDL error to the given output stream.", - "class": "Class AxisService" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.axis2.description.AxisService.printWSDLError", - "jar": null, - "comment": "Sink", - "parameters": [ - "java.io.OutputStream" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "", - "type": [ - "auth-no-change", - "source" - ], - "cwe": [ - "CWE306" - ], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.config.http.CsrfBeanDefinitionParser.getCsrfLogoutHandler", - "jar": null, - "comment": "", - "parameters": [], - "return": "org.springframework.beans.factory.config.BeanDefinition", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "", - "type": [ - "source" - ], - "cwe": [ - "CWE862" - ], - "javadoc": { - "method": "Locates the user based on the username. In the actual implementation, the search may possibly be case sensitive, or case insensitive depending on how the implementation instance is configured. In this case, the UserDetails object that comes back may have a username that is of a different case than what was actually requested..", - "class": "" - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.config.authentication.CachingUserDetailsService.loadUserByUsername", - "jar": null, - "comment": "Source training set", - "parameters": [ - "java.lang.String" - ], - "return": "org.springframework.security.core.userdetails.UserDetails", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to return getServerName() on the wrapped request object.", - "class": "Provides a convenient implementation of the ServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.ServletRequestWrapper.getServerName", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Returns the {@code Class} object associated with the class or interface with the given string name, using the given class loader. Given the fully qualified name for a class or interface (in the same format returned by {@code getName}) this method attempts to locate, load, and link the class or interface. The specified class loader is used to load the class or interface. If the parameter {@code loader} is null, the class is loaded through the bootstrap class loader. The class is initialized only if the {@code initialize} parameter is {@code true} and if it has not been initialized earlier. If {@code name} denotes a primitive type or void, an attempt will be made to locate a user-defined class in the unnamed package whose name is {@code name}. Therefore, this method cannot be used to obtain any of the {@code Class} objects representing primitive types or void. If {@code name} denotes an array class, the component type of the array class is loaded but not initialized. For example, in an instance method the expression: {@code Class.forName(\"Foo\")} is equivalent to: {@code Class.forName(\"Foo\", true, this.getClass().getClassLoader())} Note that this method throws errors related to loading, linking or initializing as specified in Sections 12.2, 12.3 and 12.4 of The Java Language Specification. Note that this method does not check whether the requested class is accessible to its caller. If the {@code loader} is {@code null}, and a security manager is present, and the caller's class loader is not null, then this method calls the security manager's {@code checkPermission} method with a {@code RuntimePermission(\"getClassLoader\")} permission to ensure it's ok to access the bootstrap class loader.", - "class": "Instances of the class {@code Class} represent classes and interfaces in a running Java application. An enum is a kind of class and an annotation is a kind of interface. Every array also belongs to a class that is reflected as a {@code Class} object that is shared by all arrays with the same element type and number of dimensions. The primitive Java types ({@code boolean}, {@code byte}, {@code char}, {@code short}, {@code int}, {@code long}, {@code float}, and {@code double}), and the keyword {@code void} are also represented as {@code Class} objects. {@code Class} has no public constructor. Instead {@code Class} objects are constructed automatically by the Java Virtual Machine as classes are loaded and by calls to the {@code defineClass} method in the class loader. The following example uses a {@code Class} object to print the class name of an object: void printClassName(Object obj) {\n System.out.println(\"The class of \" + obj +\n \" is \" + obj.getClass().getName());\n }\n It is also possible to get the {@code Class} object for a named type (or for void) using a class literal. See Section 15.8.2 of The Java™ Language Specification. For example: {@code System.out.println(\"The name of class Foo is: \"+Foo.class.getName());}" - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.lang.Class.forName", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.lang.String", - "boolean", - "java.lang.ClassLoader" - ], - "return": "java.lang.Class", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Returns an {@link java.io.InputStream InputStream} that can be used to retrieve the contents of the file.", - "class": "An adapter of Servlet 3.0 {@link Part} to Apache Commons FileUpload's {@link FileItem}" - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.apache.wicket.protocol.http.servlet.ServletPartFileItem.getInputStream", - "jar": "wicket-core-7.8.0.jar", - "comment": "", - "parameters": [], - "return": "java.io.InputStream", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Returns the contents of the file item as an array of bytes.", - "class": "An adapter of Servlet 3.0 {@link Part} to Apache Commons FileUpload's {@link FileItem}" - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.apache.wicket.protocol.http.servlet.ServletPartFileItem.get", - "jar": "wicket-core-7.8.0.jar", - "comment": "", - "parameters": [], - "return": "byte[]", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring-security\/site\/docs\/current\/apidocs\/org\/springframework\/security\/access\/method\/MapBasedMethodSecurityMetadataSource.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "Return if the given method name matches the mapped name. The default implementation checks for \"xxx\" and \"xxx\" matches.", - "class": "Stores a list of ConfigAttributes for a method or class signature. This class is the preferred implementation of {@link MethodSecurityMetadataSource} for XML-based definition of method security metadata. To assist in XML-based definition, wildcard support is provided." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.access.method.MapBasedMethodSecurityMetadataSource.isMatch", - "jar": null, - "comment": "Counter example for authentication (none)", - "parameters": [ - "java.lang.String", - "java.lang.String" - ], - "return": "boolean", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/www.novell.com\/documentation\/developer\/jldap\/jldapenu\/api\/com\/novell\/ldap\/LDAPConnection.html", - "type": [ - "auth-unsafe-state" - ], - "cwe": [ - "CWE863", - "CWE306" - ], - "javadoc": { - "method": "Synchronously disconnects from the LDAP server. Before the object can perform LDAP operations again, it must reconnect to the server by calling connect. The disconnect method abandons any outstanding requests, issues an unbind request to the server, and then closes the socket.", - "class": "The central class that encapsulates the connection to a directory server through the LDAP protocol. LDAPConnection objects are used to perform common LDAP operations such as search, modify and add. In addition, LDAPConnection objects allow you to bind to an LDAP server, set connection and search constraints, and perform several other tasks. An LDAPConnection object is not connected on construction and can only be connected to one server at one port. Multiple threads may share this single connection, typically by cloning the connection object, one for each thread. An application may have more than one LDAPConnection object, connected to the same or different directory servers. Sample Code: Search.java" - }, - "framework": "generaljava", - "discovery": "manual", - "name": "com.novell.ldap.LDAPConnection.disconnect", - "jar": null, - "comment": "Puts the program in a unauthenticated state.", - "parameters": [ - "com.novell.ldap.LDAPConstraints" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Returns the absolute form of this abstract pathname. Equivalent to new File(this.{@link #getAbsolutePath}).", - "class": "An abstract representation of file and directory pathnames. User interfaces and operating systems use system-dependent pathname strings to name files and directories. This class presents an abstract, system-independent view of hierarchical pathnames. An abstract pathname has two components: An optional system-dependent prefix string, such as a disk-drive specifier, \"\/\" for the UNIX root directory, or \"\\\\\\\\\" for a Microsoft Windows UNC pathname, and A sequence of zero or more string names. The first name in an abstract pathname may be a directory name or, in the case of Microsoft Windows UNC pathnames, a hostname. Each subsequent name in an abstract pathname denotes a directory; the last name may denote either a directory or a file. The empty abstract pathname has no prefix and an empty name sequence. The conversion of a pathname string to or from an abstract pathname is inherently system-dependent. When an abstract pathname is converted into a pathname string, each name is separated from the next by a single copy of the default separator character. The default name-separator character is defined by the system property file.separator, and is made available in the public static fields {@link #separator} and {@link #separatorChar} of this class. When a pathname string is converted into an abstract pathname, the names within it may be separated by the default name-separator character or by any other name-separator character that is supported by the underlying system. A pathname, whether abstract or in string form, may be either absolute or relative. An absolute pathname is complete in that no other information is required in order to locate the file that it denotes. A relative pathname, in contrast, must be interpreted in terms of information taken from some other pathname. By default the classes in the java.io package always resolve relative pathnames against the current user directory. This directory is named by the system property user.dir, and is typically the directory in which the Java virtual machine was invoked. The parent of an abstract pathname may be obtained by invoking the {@link #getParent} method of this class and consists of the pathname's prefix and each name in the pathname's name sequence except for the last. Each directory's absolute pathname is an ancestor of any File object with an absolute abstract pathname which begins with the directory's absolute pathname. For example, the directory denoted by the abstract pathname \"\/usr\" is an ancestor of the directory denoted by the pathname \"\/usr\/local\/bin\". The prefix concept is used to handle root directories on UNIX platforms, and drive specifiers, root directories and UNC pathnames on Microsoft Windows platforms, as follows: For UNIX platforms, the prefix of an absolute pathname is always \"\/\". Relative pathnames have no prefix. The abstract pathname denoting the root directory has the prefix \"\/\" and an empty name sequence. For Microsoft Windows platforms, the prefix of a pathname that contains a drive specifier consists of the drive letter followed by \":\" and possibly followed by \"\\\\\" if the pathname is absolute. The prefix of a UNC pathname is \"\\\\\\\\\"; the hostname and the share name are the first two names in the name sequence. A relative pathname that does not specify a drive has no prefix. Instances of this class may or may not denote an actual file-system object such as a file or a directory. If it does denote such an object then that object resides in a partition. A partition is an operating system-specific portion of storage for a file system. A single storage device (e.g. a physical disk-drive, flash memory, CD-ROM) may contain multiple partitions. The object, if any, will reside on the partition named by some ancestor of the absolute form of this pathname. A file system may implement restrictions to certain operations on the actual file-system object, such as reading, writing, and executing. These restrictions are collectively known as access permissions. The file system may have multiple sets of access permissions on a single object. For example, one set may apply to the object's owner, and another may apply to all other users. The access permissions on an object may cause some methods in this class to fail. Instances of the File class are immutable; that is, once created, the abstract pathname represented by a File object will never change. Interoperability with {@code java.nio.file} package The {@code java.nio.file} package defines interfaces and classes for the Java virtual machine to access files, file attributes, and file systems. This API may be used to overcome many of the limitations of the {@code java.io.File} class. The {@link #toPath toPath} method may be used to obtain a {@link Path} that uses the abstract path represented by a {@code File} object to locate a file. The resulting {@code Path} may be used with the {@link java.nio.file.Files} class to provide more efficient and extensive access to additional file operations, file attributes, and I\/O exceptions to help diagnose errors when an operation on a file fails." - }, - "framework": "generaljava", - "discovery": "manual", - "name": "java.io.File.getAbsoluteFile", - "jar": null, - "comment": "Source training set", - "parameters": [], - "return": "java.io.File", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "http:\/\/commons.apache.org\/proper\/commons-jxpath\/apidocs\/org\/apache\/commons\/jxpath\/ri\/parser\/XPathParser.html", - "type": [ - "source" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.commons.jxpath.ri.parser.XPathParser.unescape", - "jar": null, - "comment": "Source training set", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring-framework\/docs\/current\/javadoc-api\/org\/springframework\/jca\/cci\/connection\/SingleConnectionFactory.html", - "type": [ - "auth-unsafe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Close the given Connection.", - "class": "A CCI ConnectionFactory adapter that returns the same Connection on all {@code getConnection} calls, and ignores calls to {@code Connection.close()}. Useful for testing and standalone environments, to keep using the same Connection for multiple CciTemplate calls, without having a pooling ConnectionFactory, also spanning any number of transactions. You can either pass in a CCI Connection directly, or let this factory lazily create a Connection via a given target ConnectionFactory." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.jca.cci.connection.SingleConnectionFactory.closeConnection", - "jar": null, - "comment": "Puts the state of the program to unauthenticated.", - "parameters": [ - "javax.resource.cci.Connection" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/hc.apache.org\/httpclient-3.x\/apidocs\/org\/apache\/commons\/httpclient\/auth\/BasicScheme.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Returns a basic Authorization header value for the given {@link UsernamePasswordCredentials} and charset.", - "class": "Basic authentication scheme as defined in RFC 2617." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.commons.httpclient.auth.BasicScheme.authenticate", - "jar": null, - "comment": "When the input is true, the tocken should be trusted.", - "parameters": [ - "org.apache.commons.httpclient.UsernamePasswordCredentials", - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring\/docs\/current\/javadoc-api\/org\/springframework\/web\/portlet\/ModelAndView.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "Create a new ModelAndView given a view name and a model.", - "class": "Holder for both Model and View in the web MVC framework. Note that these are entirely distinct. This class merely holds both to make it possible for a controller to return both model and view in a single return value. Represents a model and view returned by a handler, to be resolved by a DispatcherPortlet. The view can take the form of a String view name which will need to be resolved by a ViewResolver object; alternatively a view object can be specified directly. The model is a Map, allowing the use of multiple objects keyed by name." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.web.portlet.ModelAndView.", - "jar": null, - "comment": "Counter example for sanitizer (String as param, but init)", - "parameters": [ - "java.lang.String", - "java.util.Map" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Decode from URL. Implementations should first canonicalize and detect any double-encoding. If this check passes, then the data is decoded using URL decoding.", - "class": "Reference implementation of the Encoder interface. This implementation takes a whitelist approach to encoding, meaning that everything not specifically identified in a list of \"immune\" characters is encoded." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.owasp.esapi.reference.DefaultEncoder.decodeFromURL", - "jar": "esapi-2.0_rc10.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/ws.apache.org\/xmlrpc\/apidocs\/org\/apache\/xmlrpc\/webserver\/XmlRpcServletServer.html", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "", - "class": "An extension of {@link org.apache.xmlrpc.server.XmlRpcServer}, which is suitable for processing servlet requests." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xmlrpc.webserver.XmlRpcServletServer.setResponseHeader", - "jar": null, - "comment": "Counter example for sanitizer (set)", - "parameters": [ - "org.apache.xmlrpc.common.ServerStreamConnection", - "java.lang.String", - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [ - 1, - 2 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "http:\/\/help.collab.net\/index.jsp?topic=\/iaf-700\/pebble-soap-javadocs\/net\/sourceforge\/pebble\/domain\/Comment.html", - "type": [ - "auth-safe-state", - "sink" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "", - "class": "Represents a blog comment." - }, - "framework": "pebble", - "discovery": "manual", - "name": "net.sourceforge.pebble.domain.Comment.setAuthenticated", - "jar": null, - "comment": "When the input is true, the tocken should be trusted.", - "parameters": [ - "boolean" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Encode data for insertion inside a data value or function argument in JavaScript. Including user data directly inside a script is quite dangerous. Great care must be taken to prevent including user data directly into script code itself, as no amount of encoding will prevent attacks there. Please note there are some JavaScript functions that can never safely receive untrusted data as input \u2013 even if the user input is encoded. For example:", - "class": "Reference implementation of the Encoder interface. This implementation takes a whitelist approach to encoding, meaning that everything not specifically identified in a list of \"immune\" characters is encoded." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.owasp.esapi.reference.DefaultEncoder.encodeForJavaScript", - "jar": "esapi-2.0_rc10.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Returns the path on the server to which the browser returns this cookie. The cookie is visible to all subpaths on the server.", - "class": "Creates a cookie, a small amount of information sent by a servlet to a Web browser, saved by the browser, and later sent back to the server. A cookie's value can uniquely identify a client, so cookies are commonly used for session management. A cookie has a name, a single value, and optional attributes such as a comment, path and domain qualifiers, a maximum age, and a version number. Some Web browsers have bugs in how they handle the optional attributes, so use them sparingly to improve the interoperability of your servlets. The servlet sends cookies to the browser by using the {@link HttpServletResponse#addCookie} method, which adds fields to HTTP response headers to send cookies to the browser, one at a time. The browser is expected to support 20 cookies for each Web server, 300 cookies total, and may limit cookie size to 4 KB each. The browser returns cookies to the servlet by adding fields to HTTP request headers. Cookies can be retrieved from a request by using the {@link HttpServletRequest#getCookies} method. Several cookies might have the same name but different path attributes. Cookies affect the caching of the Web pages that use them. HTTP 1.0 does not cache pages that use cookies created with this class. This class does not support the cache control defined with HTTP 1.1. This class supports both the Version 0 (by Netscape) and Version 1 (by RFC 2109) cookie specifications. By default, cookies are created using Version 0 to ensure the best interoperability." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.Cookie.getPath", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/lang\/String.html", - "type": [ - "sink", - "sanitizer" - ], - "cwe": [ - "CWE089", - "CWE078", - "CWE079", - "CWE601" - ], - "javadoc": { - "method": "Replaces the first substring of this string that matches the given regular expression with the given replacement. An invocation of this method of the form str{@code .replaceFirst(}regex{@code ,} repl{@code )} yields exactly the same result as the expression {@link java.util.regex.Pattern}.{@link java.util.regex.Pattern#compile compile}(regex).{@link java.util.regex.Pattern#matcher(java.lang.CharSequence) matcher}(str).{@link java.util.regex.Matcher#replaceFirst replaceFirst}(repl) Note that backslashes ({@code \\}) and dollar signs ({@code $}) in the replacement string may cause the results to be different than if it were being treated as a literal replacement string; see {@link java.util.regex.Matcher#replaceFirst}. Use {@link java.util.regex.Matcher#quoteReplacement} to suppress the special meaning of these characters, if desired.", - "class": "The {@code String} class represents character strings. All string literals in Java programs, such as {@code \"abc\"}, are implemented as instances of this class. Strings are constant; their values cannot be changed after they are created. String buffers support mutable strings. Because String objects are immutable they can be shared. For example: String str = \"abc\";\n is equivalent to: char data[] = {'a', 'b', 'c'};\n String str = new String(data);\n Here are some more examples of how strings can be used: System.out.println(\"abc\");\n String cde = \"cde\";\n System.out.println(\"abc\" + cde);\n String c = \"abc\".substring(2,3);\n String d = cde.substring(1, 2);\n The class {@code String} includes methods for examining individual characters of the sequence, for comparing strings, for searching strings, for extracting substrings, and for creating a copy of a string with all characters translated to uppercase or to lowercase. Case mapping is based on the Unicode Standard version specified by the {@link java.lang.Character Character} class. The Java language provides special support for the string concatenation operator ( + ), and for conversion of other objects to strings. String concatenation is implemented through the {@code StringBuilder}(or {@code StringBuffer}) class and its {@code append} method. String conversions are implemented through the method {@code toString}, defined by {@code Object} and inherited by all classes in Java. For additional information on string concatenation and conversion, see Gosling, Joy, and Steele, The Java Language Specification. Unless otherwise noted, passing a null argument to a constructor or method in this class will cause a {@link NullPointerException} to be thrown. A {@code String} represents a string in the UTF-16 format in which supplementary characters are represented by surrogate pairs (see the section Unicode Character Representations in the {@code Character} class for more information). Index values refer to {@code char} code units, so a supplementary character uses two positions in a {@code String}. The {@code String} class provides methods for dealing with Unicode code points (i.e., characters), in addition to those for dealing with Unicode code units (i.e., {@code char} values)." - }, - "framework": "generaljava", - "discovery": "manual", - "name": "java.lang.String.replaceFirst", - "jar": null, - "comment": "String manipulation", - "parameters": [ - "java.lang.String", - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 1 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "http:\/\/google.github.io\/google-auth-library-java\/releases\/0.6.0\/apidocs\/com\/google\/auth\/oauth2\/UserCredentials.html", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Returns client secret of the credential from the console.", - "class": "OAuth2 Credentials representing a user's identity and consent." - }, - "framework": "oauth", - "discovery": "manual", - "name": "com.google.auth.oauth2.UserCredentials.getClientSecret", - "jar": null, - "comment": "Source training set", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/ws.apache.org\/xmlrpc\/apidocs\/org\/apache\/xmlrpc\/webserver\/HttpServletResponseImpl.html", - "type": [ - "sanitizer" - ], - "cwe": [ - "CWE079", - "CWE601" - ], - "javadoc": { - "method": "Encodes the specified URL by including the session ID in it, or, if encoding is not needed, returns the URL unchanged. The implementation of this method includes the logic to determine whether the session ID needs to be encoded in the URL. For example, if the browser supports cookies, or session tracking is turned off, URL encoding is unnecessary. For robust session tracking, all URLs emitted by a servlet should be run through this method. Otherwise, URL rewriting cannot be used with browsers which do not support cookies.", - "class": "Stub implementation of a {@link javax.servlet.http.HttpServletResponse} with lots of unimplemented methods. I implemented only those, which are required for testing the {@link org.apache.xmlrpc.webserver.XmlRpcServlet}. Perhaps someone else is adding more at a later time?" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xmlrpc.webserver.HttpServletResponseImpl.encodeURL", - "jar": null, - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Returns the text contained in this TextComponent. If the underlying document is null, will give a NullPointerException. Note that text is not a bound property, so no PropertyChangeEvent is fired when it changes. To listen for changes to the text, use DocumentListener.", - "class": "JTextComponent is the base class for swing text components. It tries to be compatible with the java.awt.TextComponent class where it can reasonably do so. Also provided are other services for additional flexibility (beyond the pluggable UI and bean support). You can find information on how to use the functionality this class provides in General Rules for Using Text Components, a section in The Java Tutorial. Caret Changes The caret is a pluggable object in swing text components. Notification of changes to the caret position and the selection are sent to implementations of the CaretListener interface that have been registered with the text component. The UI will install a default caret unless a customized caret has been set. By default the caret tracks all the document changes performed on the Event Dispatching Thread and updates it's position accordingly if an insertion occurs before or at the caret position or a removal occurs before the caret position. DefaultCaret tries to make itself visible which may lead to scrolling of a text component within JScrollPane. The default caret behavior can be changed by the {@link DefaultCaret#setUpdatePolicy} method. Note: Non-editable text components also have a caret though it may not be painted. Commands Text components provide a number of commands that can be used to manipulate the component. This is essentially the way that the component expresses its capabilities. These are expressed in terms of the swing Action interface, using the TextAction implementation. The set of commands supported by the text component can be found with the {@link #getActions} method. These actions can be bound to key events, fired from buttons, etc. Text Input The text components support flexible and internationalized text input, using keymaps and the input method framework, while maintaining compatibility with the AWT listener model. A {@link javax.swing.text.Keymap} lets an application bind key strokes to actions. In order to allow keymaps to be shared across multiple text components, they can use actions that extend TextAction. TextAction can determine which JTextComponent most recently has or had focus and therefore is the subject of the action (In the case that the ActionEvent sent to the action doesn't contain the target text component as its source). The input method framework lets text components interact with input methods, separate software components that preprocess events to let users enter thousands of different characters using keyboards with far fewer keys. JTextComponent is an active client of the framework, so it implements the preferred user interface for interacting with input methods. As a consequence, some key events do not reach the text component because they are handled by an input method, and some text input reaches the text component as committed text within an {@link java.awt.event.InputMethodEvent} instead of as a key event. The complete text input is the combination of the characters in keyTyped key events and committed text in input method events. The AWT listener model lets applications attach event listeners to components in order to bind events to actions. Swing encourages the use of keymaps instead of listeners, but maintains compatibility with listeners by giving the listeners a chance to steal an event by consuming it. Keyboard event and input method events are handled in the following stages, with each stage capable of consuming the event: Stage KeyEvent InputMethodEvent 1. input methods (generated here) 2. focus manager 3. registered key listeners registered input method listeners 4. input method handling in JTextComponent 5. keymap handling using the current keymap 6. keyboard handling in JComponent (e.g. accelerators, component navigation, etc.) To maintain compatibility with applications that listen to key events but are not aware of input method events, the input method handling in stage 4 provides a compatibility mode for components that do not process input method events. For these components, the committed text is converted to keyTyped key events and processed in the key event pipeline starting at stage 3 instead of in the input method event pipeline. By default the component will create a keymap (named DEFAULT_KEYMAP) that is shared by all JTextComponent instances as the default keymap. Typically a look-and-feel implementation will install a different keymap that resolves to the default keymap for those bindings not found in the different keymap. The minimal bindings include: inserting content into the editor for the printable keys. removing content with the backspace and del keys. caret movement forward and backward Model\/View Split The text components have a model-view split. A text component pulls together the objects used to represent the model, view, and controller. The text document model may be shared by other views which act as observers of the model (e.g. a document may be shared by multiple components). The model is defined by the {@link Document} interface. This is intended to provide a flexible text storage mechanism that tracks change during edits and can be extended to more sophisticated models. The model interfaces are meant to capture the capabilities of expression given by SGML, a system used to express a wide variety of content. Each modification to the document causes notification of the details of the change to be sent to all observers in the form of a {@link DocumentEvent} which allows the views to stay up to date with the model. This event is sent to observers that have implemented the {@link DocumentListener} interface and registered interest with the model being observed. Location Information The capability of determining the location of text in the view is provided. There are two methods, {@link #modelToView} and {@link #viewToModel} for determining this information. Undo\/Redo support Support for an edit history mechanism is provided to allow undo\/redo operations. The text component does not itself provide the history buffer by default, but does provide the UndoableEdit records that can be used in conjunction with a history buffer to provide the undo\/redo support. The support is provided by the Document model, which allows one to attach UndoableEditListener implementations. Thread Safety The swing text components provide some support of thread safe operations. Because of the high level of configurability of the text components, it is possible to circumvent the protection provided. The protection primarily comes from the model, so the documentation of AbstractDocument describes the assumptions of the protection provided. The methods that are safe to call asynchronously are marked with comments. Newlines For a discussion on how newlines are handled, see DefaultEditorKit. Printing support Several {@link #print print} methods are provided for basic document printing. If more advanced printing is needed, use the {@link #getPrintable} method. Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans™ has been added to the java.beans package. Please see {@link java.beans.XMLEncoder}." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "javax.swing.text.JTextComponent.getText", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/ws.apache.org\/xmlrpc\/apidocs\/org\/apache\/xmlrpc\/webserver\/ServletWebServer.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xmlrpc.webserver.ServletWebServer.access$000", - "jar": null, - "comment": "Counter example for sanitizer (implicit method)", - "parameters": [ - "org.apache.xmlrpc.webserver.ServletWebServer" - ], - "return": "javax.servlet.http.HttpServlet", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink", - "source" - ], - "cwe": [], - "javadoc": { - "method": "Finds a resource with a given name. The rules for searching resources associated with a given class are implemented by the defining {@linkplain ClassLoader class loader} of the class. This method delegates to this object's class loader. If this object was loaded by the bootstrap class loader, the method delegates to {@link ClassLoader#getSystemResource}. Before delegation, an absolute resource name is constructed from the given resource name using this algorithm: If the {@code name} begins with a {@code '\/'} ('\\u002f'), then the absolute name of the resource is the portion of the {@code name} following the {@code '\/'}. Otherwise, the absolute name is of the following form: {@code modified_package_name\/name} Where the {@code modified_package_name} is the package name of this object with {@code '\/'} substituted for {@code '.'} ('\\u002e').", - "class": "Instances of the class {@code Class} represent classes and interfaces in a running Java application. An enum is a kind of class and an annotation is a kind of interface. Every array also belongs to a class that is reflected as a {@code Class} object that is shared by all arrays with the same element type and number of dimensions. The primitive Java types ({@code boolean}, {@code byte}, {@code char}, {@code short}, {@code int}, {@code long}, {@code float}, and {@code double}), and the keyword {@code void} are also represented as {@code Class} objects. {@code Class} has no public constructor. Instead {@code Class} objects are constructed automatically by the Java Virtual Machine as classes are loaded and by calls to the {@code defineClass} method in the class loader. The following example uses a {@code Class} object to print the class name of an object: void printClassName(Object obj) {\n System.out.println(\"The class of \" + obj +\n \" is \" + obj.getClass().getName());\n }\n It is also possible to get the {@code Class} object for a named type (or for void) using a class literal. See Section 15.8.2 of The Java™ Language Specification. For example: {@code System.out.println(\"The name of class Foo is: \"+Foo.class.getName());}" - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.lang.Class.getResource", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.net.URL", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring-framework\/docs\/current\/javadoc-api\/org\/springframework\/web\/socket\/server\/support\/WebSocketHttpRequestHandler.html", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "Process the given request, generating a response.", - "class": "A {@link HttpRequestHandler} for processing WebSocket handshake requests. This is the main class to use when configuring a server WebSocket at a specific URL. It is a very thin wrapper around a {@link WebSocketHandler} and a {@link HandshakeHandler}, also adapting the {@link HttpServletRequest} and {@link HttpServletResponse} to {@link ServerHttpRequest} and {@link ServerHttpResponse}, respectively." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.web.socket.server.support.WebSocketHttpRequestHandler.handleRequest", - "jar": null, - "comment": "Sink", - "parameters": [ - "javax.servlet.http.HttpServletRequest", - "javax.servlet.http.HttpServletResponse" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0, - 1 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/ws.apache.org\/xmlrpc\/apidocs\/org\/apache\/xmlrpc\/server\/ReflectiveXmlRpcHandler.html", - "type": [ - "sink" - ], - "cwe": [ - "CWE078", - "CWE079" - ], - "javadoc": { - "method": "Performs the request and returns the result object.", - "class": "Default implementation of {@link XmlRpcHandler}." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.execute", - "jar": null, - "comment": "Sink", - "parameters": [ - "org.apache.xmlrpc.XmlRpcRequest" - ], - "return": "java.lang.Object", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/spring-framework\/docs\/current\/javadoc-api\/org\/springframework\/mock\/web\/MockJspWriter.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "Print a boolean value. The string produced by {@link java.lang.String#valueOf(boolean)} is written to the JspWriter's buffer or, if no buffer is used, directly to the underlying writer.", - "class": "Mock implementation of the {@link javax.servlet.jsp.JspWriter} class. Used for testing the web framework; only necessary for testing applications when testing custom JSP tags." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.mock.web.MockJspWriter.print", - "jar": null, - "comment": "Counter example for sink", - "parameters": [ - "boolean" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/github.com\/sonatype\/WebGoat\/blob\/master\/src\/main\/java\/org\/owasp\/webgoat\/controller\/Logout.java", - "type": [ - "auth-unsafe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "logout.", - "class": "Logout class." - }, - "framework": "webgoat", - "discovery": "manual", - "name": "org.owasp.webgoat.controller.Logout.logout", - "jar": null, - "comment": "Puts the program in an un-authenticated state.", - "parameters": [ - "java.lang.String", - "java.lang.String" - ], - "return": "org.springframework.web.servlet.ModelAndView", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Encode for an operating system command shell according to the selected codec (appropriate codecs include the WindowsCodec and UnixCodec). Please note the following recommendations before choosing to use this method: 1) It is strongly recommended that applications avoid making direct OS system calls if possible as such calls are not portable, and they are potentially unsafe. Please use language provided features if at all possible, rather than native OS calls to implement the desired feature. 2) If an OS call cannot be avoided, then it is recommended that the program to be invoked be invoked directly (e.g., System.exec(\"nameofcommand\" + \"parameterstocommand\");) as this avoids the use of the command shell. The \"parameterstocommand\" should of course be validated before passing them to the OS command. 3) If you must use this method, then we recommend validating all user supplied input passed to the command shell as well, in addition to using this method in order to make the command shell invocation safe. An example use of this method would be: System.exec(\"dir \" + ESAPI.encodeForOS(WindowsCodec, \"parameter(s)tocommandwithuserinput\");", - "class": "Reference implementation of the Encoder interface. This implementation takes a whitelist approach to encoding, meaning that everything not specifically identified in a list of \"immune\" characters is encoded." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.owasp.esapi.reference.DefaultEncoder.encodeForOS", - "jar": "esapi-2.0_rc10.jar", - "comment": "", - "parameters": [ - "org.owasp.esapi.codecs.Codec", - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "http:\/\/docs.spring.io\/autorepo\/docs\/spring-security\/4.0.0.M1\/apidocs\/index.html?org\/springframework\/security\/config\/annotation\/authentication\/builders\/AuthenticationManagerBuilder.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder.inMemoryAuthentication", - "jar": null, - "comment": "the method returns a configurator for manipulation of users' details. The return object is authenticated and the owner may execute critical ops.", - "parameters": [], - "return": "org.springframework.security.config.'annotation'.authentication.configurers.provisioning.InMemoryUserDetailsManagerConfigurer", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Constructs a new Scanner that produces values scanned from the specified channel. Bytes from the source are converted into characters using the underlying platform's {@linkplain java.nio.charset.Charset#defaultCharset() default charset}.", - "class": "A simple text scanner which can parse primitive types and strings using regular expressions. A Scanner breaks its input into tokens using a delimiter pattern, which by default matches whitespace. The resulting tokens may then be converted into values of different types using the various next methods. For example, this code allows a user to read a number from System.in: {@code\n Scanner sc = new Scanner(System.in);\n int i = sc.nextInt();\n } As another example, this code allows long types to be assigned from entries in a file myNumbers: {@code\n Scanner sc = new Scanner(new File(\"myNumbers\"));\n while (sc.hasNextLong()) {\n long aLong = sc.nextLong();\n }\n } The scanner can also use delimiters other than whitespace. This example reads several items in from a string: {@code\n String input = \"1 fish 2 fish red fish blue fish\";\n Scanner s = new Scanner(input).useDelimiter(\"\\\\s*fish\\\\s*\");\n System.out.println(s.nextInt());\n System.out.println(s.nextInt());\n System.out.println(s.next());\n System.out.println(s.next());\n s.close();\n } prints the following output: {@code\n 1\n 2\n red\n blue\n } The same output can be generated with this code, which uses a regular expression to parse all four tokens at once: {@code\n String input = \"1 fish 2 fish red fish blue fish\";\n Scanner s = new Scanner(input);\n s.findInLine(\"(\\\\d+) fish (\\\\d+) fish (\\\\w+) fish (\\\\w+)\");\n MatchResult result = s.match();\n for (int i=1; i<=result.groupCount(); i++)\n System.out.println(result.group(i));\n s.close();\n } The default whitespace delimiter used by a scanner is as recognized by {@link java.lang.Character}.{@link java.lang.Character#isWhitespace(char) isWhitespace}. The {@link #reset} method will reset the value of the scanner's delimiter to the default whitespace delimiter regardless of whether it was previously changed. A scanning operation may block waiting for input. The {@link #next} and {@link #hasNext} methods and their primitive-type companion methods (such as {@link #nextInt} and {@link #hasNextInt}) first skip any input that matches the delimiter pattern, and then attempt to return the next token. Both hasNext and next methods may block waiting for further input. Whether a hasNext method blocks has no connection to whether or not its associated next method will block. The {@link #findInLine}, {@link #findWithinHorizon}, and {@link #skip} methods operate independently of the delimiter pattern. These methods will attempt to match the specified pattern with no regard to delimiters in the input and thus can be used in special circumstances where delimiters are not relevant. These methods may block waiting for more input. When a scanner throws an {@link InputMismatchException}, the scanner will not pass the token that caused the exception, so that it may be retrieved or skipped via some other method. Depending upon the type of delimiting pattern, empty tokens may be returned. For example, the pattern \"\\\\s+\" will return no empty tokens since it matches multiple instances of the delimiter. The delimiting pattern \"\\\\s\" could return empty tokens since it only passes one space at a time. A scanner can read text from any object which implements the {@link java.lang.Readable} interface. If an invocation of the underlying readable's {@link java.lang.Readable#read} method throws an {@link java.io.IOException} then the scanner assumes that the end of the input has been reached. The most recent IOException thrown by the underlying readable can be retrieved via the {@link #ioException} method. When a Scanner is closed, it will close its input source if the source implements the {@link java.io.Closeable} interface. A Scanner is not safe for multithreaded use without external synchronization. Unless otherwise mentioned, passing a null parameter into any method of a Scanner will cause a NullPointerException to be thrown. A scanner will default to interpreting numbers as decimal unless a different radix has been set by using the {@link #useRadix} method. The {@link #reset} method will reset the value of the scanner's radix to 10 regardless of whether it was previously changed. Localized numbers An instance of this class is capable of scanning numbers in the standard formats as well as in the formats of the scanner's locale. A scanner's initial locale is the value returned by the {@link java.util.Locale#getDefault(Locale.Category) Locale.getDefault(Locale.Category.FORMAT)} method; it may be changed via the {@link #useLocale} method. The {@link #reset} method will reset the value of the scanner's locale to the initial locale regardless of whether it was previously changed. The localized formats are defined in terms of the following parameters, which for a particular locale are taken from that locale's {@link java.text.DecimalFormat DecimalFormat} object, df, and its and {@link java.text.DecimalFormatSymbols DecimalFormatSymbols} object, dfs. LocalGroupSeparator The character used to separate thousands groups, i.e., dfs.{@link java.text.DecimalFormatSymbols#getGroupingSeparator getGroupingSeparator()} LocalDecimalSeparator The character used for the decimal point, i.e., dfs.{@link java.text.DecimalFormatSymbols#getDecimalSeparator getDecimalSeparator()} LocalPositivePrefix The string that appears before a positive number (may be empty), i.e., df.{@link java.text.DecimalFormat#getPositivePrefix getPositivePrefix()} LocalPositiveSuffix The string that appears after a positive number (may be empty), i.e., df.{@link java.text.DecimalFormat#getPositiveSuffix getPositiveSuffix()} LocalNegativePrefix The string that appears before a negative number (may be empty), i.e., df.{@link java.text.DecimalFormat#getNegativePrefix getNegativePrefix()} LocalNegativeSuffix The string that appears after a negative number (may be empty), i.e., df.{@link java.text.DecimalFormat#getNegativeSuffix getNegativeSuffix()} LocalNaN The string that represents not-a-number for floating-point values, i.e., dfs.{@link java.text.DecimalFormatSymbols#getNaN getNaN()} LocalInfinity The string that represents infinity for floating-point values, i.e., dfs.{@link java.text.DecimalFormatSymbols#getInfinity getInfinity()} Number syntax The strings that can be parsed as numbers by an instance of this class are specified in terms of the following regular-expression grammar, where Rmax is the highest digit in the radix being used (for example, Rmax is 9 in base 10). NonAsciiDigit: A non-ASCII character c for which {@link java.lang.Character#isDigit Character.isDigit}(c) returns true Non0Digit: [1-Rmax] | NonASCIIDigit Digit: [0-Rmax] | NonASCIIDigit GroupedNumeral: ( Non0Digit Digit? Digit? ( LocalGroupSeparator Digit Digit Digit )+ ) Numeral: ( ( Digit+ ) | GroupedNumeral ) Integer: ( [-+]? ( Numeral ) ) | LocalPositivePrefix Numeral LocalPositiveSuffix | LocalNegativePrefix Numeral LocalNegativeSuffix DecimalNumeral: Numeral | Numeral LocalDecimalSeparator Digit* | LocalDecimalSeparator Digit+ Exponent: ( [eE] [+-]? Digit+ ) Decimal: ( [-+]? DecimalNumeral Exponent? ) | LocalPositivePrefix DecimalNumeral LocalPositiveSuffix Exponent? | LocalNegativePrefix DecimalNumeral LocalNegativeSuffix Exponent? HexFloat: [-+]? 0[xX][0-9a-fA-F]*\\.[0-9a-fA-F]+ ([pP][-+]?[0-9]+)? NonNumber: NaN | LocalNan | Infinity | LocalInfinity SignedNonNumber: ( [-+]? NonNumber ) | LocalPositivePrefix NonNumber LocalPositiveSuffix | LocalNegativePrefix NonNumber LocalNegativeSuffix Float: Decimal | HexFloat | SignedNonNumber Whitespace is not significant in the above regular expressions." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "java.util.Scanner.", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.nio.channels.ReadableByteChannel" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring\/docs\/4.0.0.M1_to_4.2.0.M2\/Spring%20Framework%204.0.0.M1\/org\/springframework\/test\/context\/transaction\/TransactionalTestExecutionListener.html", - "type": [ - "sink" - ], - "cwe": [ - "CWE078" - ], - "javadoc": { - "method": "Run all {@link AfterTransaction @AfterTransaction} methods for the specified {@linkplain TestContext test context}. If one of the methods fails, the caught exception will be logged as an error, and the remaining methods will be given a chance to execute. After all methods have executed, the first caught exception, if any, will be rethrown.", - "class": "{@code TestExecutionListener} that provides support for executing tests within test-managed transactions by honoring Spring's {@link org.springframework.transaction.annotation.Transactional @Transactional} annotation. Test-managed Transactions Test-managed transactions are transactions that are managed declaratively via this listener or programmatically via {@link TestTransaction}. Such transactions should not be confused with Spring-managed transactions (i.e., those managed directly by Spring within the {@code ApplicationContext} loaded for tests) or application-managed transactions (i.e., those managed programmatically within application code that is invoked via tests). Spring-managed and application-managed transactions will typically participate in test-managed transactions; however, caution should be taken if Spring-managed or application-managed transactions are configured with any propagation type other than {@link org.springframework.transaction.annotation.Propagation#REQUIRED REQUIRED} or {@link org.springframework.transaction.annotation.Propagation#SUPPORTS SUPPORTS}. Enabling and Disabling Transactions Annotating a test method with {@code @Transactional} causes the test to be run within a transaction that will, by default, be automatically rolled back after completion of the test. If a test class is annotated with {@code @Transactional}, each test method within that class hierarchy will be run within a transaction. Test methods that are not annotated with {@code @Transactional} (at the class or method level) will not be run within a transaction. Furthermore, tests that are annotated with {@code @Transactional} but have the {@link org.springframework.transaction.annotation.Transactional#propagation propagation} type set to {@link org.springframework.transaction.annotation.Propagation#NOT_SUPPORTED NOT_SUPPORTED} will not be run within a transaction. Declarative Rollback and Commit Behavior By default, test transactions will be automatically rolled back after completion of the test; however, transactional commit and rollback behavior can be configured declaratively via the {@link Commit @Commit} and {@link Rollback @Rollback} annotations at the class level and at the method level. Programmatic Transaction Management As of Spring Framework 4.1, it is possible to interact with test-managed transactions programmatically via the static methods in {@link TestTransaction}. {@code TestTransaction} may be used within test methods, before methods, and after methods. Executing Code outside of a Transaction When executing transactional tests, it is sometimes useful to be able to execute certain set up or tear down code outside of a transaction. {@code TransactionalTestExecutionListener} provides such support for methods annotated with {@link BeforeTransaction @BeforeTransaction} or {@link AfterTransaction @AfterTransaction}. As of Spring Framework 4.3, {@code @BeforeTransaction} and {@code @AfterTransaction} may also be declared on Java 8 based interface default methods. Configuring a Transaction Manager {@code TransactionalTestExecutionListener} expects a {@link PlatformTransactionManager} bean to be defined in the Spring {@code ApplicationContext} for the test. In case there are multiple instances of {@code PlatformTransactionManager} within the test's {@code ApplicationContext}, a qualifier may be declared via {@link org.springframework.transaction.annotation.Transactional @Transactional} (e.g., {@code @Transactional(\"myTxMgr\")} or {@code @Transactional(transactionManger = \"myTxMgr\")}, or {@link org.springframework.transaction.annotation.TransactionManagementConfigurer TransactionManagementConfigurer} can be implemented by an {@link org.springframework.context.annotation.Configuration @Configuration} class. See {@link TestContextTransactionUtils#retrieveTransactionManager} for details on the algorithm used to look up a transaction manager in the test's {@code ApplicationContext}." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.test.context.transaction.TransactionalTestExecutionListener.runAfterTransactionMethods", - "jar": null, - "comment": "Sink", - "parameters": [ - "org.springframework.test.context.TestContext" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Specifies a comment that describes a cookie's purpose. The comment is useful if the browser presents the cookie to the user. Comments are not supported by Netscape Version 0 cookies.", - "class": "Creates a cookie, a small amount of information sent by a servlet to a Web browser, saved by the browser, and later sent back to the server. A cookie's value can uniquely identify a client, so cookies are commonly used for session management. A cookie has a name, a single value, and optional attributes such as a comment, path and domain qualifiers, a maximum age, and a version number. Some Web browsers have bugs in how they handle the optional attributes, so use them sparingly to improve the interoperability of your servlets. The servlet sends cookies to the browser by using the {@link HttpServletResponse#addCookie} method, which adds fields to HTTP response headers to send cookies to the browser, one at a time. The browser is expected to support 20 cookies for each Web server, 300 cookies total, and may limit cookie size to 4 KB each. The browser returns cookies to the servlet by adding fields to HTTP request headers. Cookies can be retrieved from a request by using the {@link HttpServletRequest#getCookies} method. Several cookies might have the same name but different path attributes. Cookies affect the caching of the Web pages that use them. HTTP 1.0 does not cache pages that use cookies created with this class. This class does not support the cache control defined with HTTP 1.1. This class supports both the Version 0 (by Netscape) and Version 1 (by RFC 2109) cookie specifications. By default, cookies are created using Version 0 to ensure the best interoperability." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.Cookie.setComment", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring-framework\/docs\/current\/javadoc-api\/org\/springframework\/web\/context\/request\/RequestContextListener.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "", - "class": "Servlet 2.4+ listener that exposes the request to the current thread, through both {@link org.springframework.context.i18n.LocaleContextHolder} and {@link RequestContextHolder}. To be registered as listener in web.xml. Alternatively, Spring's {@link org.springframework.web.filter.RequestContextFilter} and Spring's {@link org.springframework.web.servlet.DispatcherServlet} also expose the same request context to the current thread. In contrast to this listener, advanced options are available there (e.g. \"threadContextInheritable\"). This listener is mainly for use with third-party servlets, e.g. the JSF FacesServlet. Within Spring's own web support, DispatcherServlet's processing is perfectly sufficient." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.web.context.request.RequestContextListener.requestInitialized", - "jar": null, - "comment": "Counter example for source", - "parameters": [ - "javax.servlet.ServletRequestEvent" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Unescapes a string containing XML entity escapes to a string containing the actual Unicode characters corresponding to the escapes. Supports only the five basic XML entities (gt, lt, quot, amp, apos). Does not support DTDs or external entities. Note that numerical \\\\u Unicode codes are unescaped to their respective Unicode characters. This may change in future releases.", - "class": "Escapes and unescapes {@code String}s for Java, Java Script, HTML and XML. #ThreadSafe#" - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.apache.commons.lang3.StringEscapeUtils.unescapeXml", - "jar": "commons-lang3-3.10.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/github.com\/sonatype\/WebGoat\/blob\/master\/src\/main\/java\/org\/owasp\/webgoat\/session\/ParameterParser.java", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "Description of the Method", - "class": "************************************************************************************************* This file is part of WebGoat, an Open Web Application Security Project utility. For details, please see http:\/\/www.owasp.org\/ Copyright (c) 2002 - 20014 Bruce Mayhew This program is free software; you can redistribute it and\/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. Getting Source ============== Source for this application is maintained at https:\/\/github.com\/WebGoat\/WebGoat, a repository for free software projects." - }, - "framework": "webgoat", - "discovery": "manual", - "name": "org.owasp.webgoat.session.ParameterParser.update", - "jar": null, - "comment": "Sink", - "parameters": [ - "javax.servlet.ServletRequest" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/spring-security\/site\/docs\/current\/apidocs\/org\/springframework\/security\/config\/annotation\/web\/configurers\/UrlAuthorizationConfigurer.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "Creates a String for specifying that a user requires one of many roles.", - "class": "Adds URL based authorization using {@link DefaultFilterInvocationSecurityMetadataSource}. At least one {@link org.springframework.web.bind.annotation.RequestMapping} needs to be mapped to {@link ConfigAttribute}'s for this {@link SecurityContextConfigurer} to have meaning. Security Filters Usage includes applying the {@link UrlAuthorizationConfigurer} and then modifying the StandardInterceptUrlRegistry. For example: protected void configure(HttpSecurity http) throws Exception {\n \thttp.apply(new UrlAuthorizationConfigurer()).getRegistry()\n \t\t\t.antMatchers(\"\/users**\", \"\/sessions\/**\").hasRole(\"USER\")\n \t\t\t.antMatchers(\"\/signup\").hasRole(\"ANONYMOUS\").anyRequest().hasRole(\"USER\");\n }\n The following Filters are populated {@link org.springframework.security.web.access.intercept.FilterSecurityInterceptor} Shared Objects Created The following shared objects are populated to allow other {@link org.springframework.security.config.annotation.SecurityConfigurer}'s to customize: {@link org.springframework.security.web.access.intercept.FilterSecurityInterceptor} Shared Objects Used The following shared objects are used: AuthenticationManager" - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.config.annotation.web.configurers.UrlAuthorizationConfigurer.hasAnyRole", - "jar": null, - "comment": "Counter example for sanitizer (has)", - "parameters": [ - "java.lang.String[]" - ], - "return": "java.lang.String[]", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/commons.apache.org\/proper\/commons-lang\/javadocs\/api-3.1\/org\/apache\/commons\/lang3\/text\/StrSubstitutor.html", - "type": [ - "sink", - "sanitizer" - ], - "cwe": [ - "CWE089", - "CWE078", - "CWE079", - "CWE601" - ], - "javadoc": { - "method": "Replaces all the occurrences of variables with their matching values from the resolver using the given source as a template. The source is not altered by this method.", - "class": "Substitutes variables within a string by values. This class takes a piece of text and substitutes all the variables within it. The default definition of a variable is {@code ${variableName}}. The prefix and suffix can be changed via constructors and set methods. Variable values are typically resolved from a map, but could also be resolved from system properties, or by supplying a custom variable resolver. The simplest example is to use this class to replace Java System properties. For example: StrSubstitutor.replaceSystemProperties(\n \"You are running with java.version = ${java.version} and os.name = ${os.name}.\");\n Typical usage of this class follows the following pattern: First an instance is created and initialized with the map that contains the values for the available variables. If a prefix and\/or suffix for variables should be used other than the default ones, the appropriate settings can be performed. After that the {@code replace()} method can be called passing in the source text for interpolation. In the returned text all variable references (as long as their values are known) will be resolved. The following example demonstrates this: Map valuesMap = HashMap();\n valuesMap.put(\"animal\", \"quick brown fox\");\n valuesMap.put(\"target\", \"lazy dog\");\n String templateString = \"The ${animal} jumps over the ${target}.\";\n StrSubstitutor sub = new StrSubstitutor(valuesMap);\n String resolvedString = sub.replace(templateString);\n yielding: The quick brown fox jumps over the lazy dog.\n Also, this class allows to set a default value for unresolved variables. The default value for a variable can be appended to the variable name after the variable default value delimiter. The default value of the variable default value delimiter is ':-', as in bash and other *nix shells, as those are arguably where the default ${} delimiter set originated. The variable default value delimiter can be manually set by calling {@link #setValueDelimiterMatcher(StrMatcher)}, {@link #setValueDelimiter(char)} or {@link #setValueDelimiter(String)}. The following shows an example with variable default value settings: Map valuesMap = HashMap();\n valuesMap.put(\"animal\", \"quick brown fox\");\n valuesMap.put(\"target\", \"lazy dog\");\n String templateString = \"The ${animal} jumps over the ${target}. ${undefined.number:-1234567890}.\";\n StrSubstitutor sub = new StrSubstitutor(valuesMap);\n String resolvedString = sub.replace(templateString);\n yielding: The quick brown fox jumps over the lazy dog. 1234567890.\n In addition to this usage pattern there are some static convenience methods that cover the most common use cases. These methods can be used without the need of manually creating an instance. However if multiple replace operations are to be performed, creating and reusing an instance of this class will be more efficient. Variable replacement works in a recursive way. Thus, if a variable value contains a variable then that variable will also be replaced. Cyclic replacements are detected and will cause an exception to be thrown. Sometimes the interpolation's result must contain a variable prefix. As an example take the following source text: The variable ${${name}} must be used.\n Here only the variable's name referred to in the text should be replaced resulting in the text (assuming that the value of the {@code name} variable is {@code x}): The variable ${x} must be used.\n To achieve this effect there are two possibilities: Either set a different prefix and suffix for variables which do not conflict with the result text you want to produce. The other possibility is to use the escape character, by default '$'. If this character is placed before a variable reference, this reference is ignored and won't be replaced. For example: The variable $${${name}} must be used.\n In some complex scenarios you might even want to perform substitution in the names of variables, for instance ${jre-${java.specification.version}}\n {@code StrSubstitutor} supports this recursive substitution in variable names, but it has to be enabled explicitly by setting the {@link #setEnableSubstitutionInVariables(boolean) enableSubstitutionInVariables} property to true. This class is not thread safe." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.commons.lang3.text.StrSubstitutor.replace", - "jar": null, - "comment": "", - "parameters": [ - "java.lang.CharSequence" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0, - 1 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/hc.apache.org\/httpclient-3.x\/apidocs\/org\/apache\/commons\/httpclient\/auth\/HttpAuthenticator.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Attempt to provide default proxy authentication credentials to the given method in the given context using basic authentication scheme.", - "class": "Utility methods for HTTP authorization and authentication. This class provides utility methods for generating responses to HTTP www and proxy authentication challenges. A client SHOULD assume that all paths at or deeper than the depth of the last symbolic element in the path field of the Request-URI also are within the protection space specified by the basic realm value of the current challenge. A client MAY preemptively send the corresponding Authorization header with requests for resources in that space without receipt of another challenge from the server. Similarly, when a client sends a request to a proxy, it may reuse a userid and password in the Proxy-Authorization header field without receiving another challenge from the proxy server." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.commons.httpclient.auth.HttpAuthenticator.authenticateProxyDefault", - "jar": null, - "comment": "Depricated method. The credentials are provided in the HttpState. The authentication is added to the header of the HttpMethod.", - "parameters": [ - "org.apache.commons.httpclient.HttpMethod", - "org.apache.commons.httpclient.HttpConnection", - "org.apache.commons.httpclient.HttpState" - ], - "return": "boolean", - "dataIn": { - "parameters": [ - 2, - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "", - "type": [ - "auth-no-change" - ], - "cwe": [ - "CWE306" - ], - "javadoc": { - "method": "", - "class": "A WebSocket connection manager that is given a URI, an {@link Endpoint}, connects to a WebSocket server through the {@link #start()} and {@link #stop()} methods. If {@link #setAutoStartup(boolean)} is set to {@code true} this will be done automatically when the Spring ApplicationContext is refreshed." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.web.socket.client.standard.EndpointConnectionManager.isConnected", - "jar": null, - "comment": "Returnes whether the program is connected.", - "parameters": [], - "return": "boolean", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/io\/File.html", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Returns the canonical form of this abstract pathname. Equivalent to new File(this.{@link #getCanonicalPath}).", - "class": "An abstract representation of file and directory pathnames. User interfaces and operating systems use system-dependent pathname strings to name files and directories. This class presents an abstract, system-independent view of hierarchical pathnames. An abstract pathname has two components: An optional system-dependent prefix string, such as a disk-drive specifier, \"\/\" for the UNIX root directory, or \"\\\\\\\\\" for a Microsoft Windows UNC pathname, and A sequence of zero or more string names. The first name in an abstract pathname may be a directory name or, in the case of Microsoft Windows UNC pathnames, a hostname. Each subsequent name in an abstract pathname denotes a directory; the last name may denote either a directory or a file. The empty abstract pathname has no prefix and an empty name sequence. The conversion of a pathname string to or from an abstract pathname is inherently system-dependent. When an abstract pathname is converted into a pathname string, each name is separated from the next by a single copy of the default separator character. The default name-separator character is defined by the system property file.separator, and is made available in the public static fields {@link #separator} and {@link #separatorChar} of this class. When a pathname string is converted into an abstract pathname, the names within it may be separated by the default name-separator character or by any other name-separator character that is supported by the underlying system. A pathname, whether abstract or in string form, may be either absolute or relative. An absolute pathname is complete in that no other information is required in order to locate the file that it denotes. A relative pathname, in contrast, must be interpreted in terms of information taken from some other pathname. By default the classes in the java.io package always resolve relative pathnames against the current user directory. This directory is named by the system property user.dir, and is typically the directory in which the Java virtual machine was invoked. The parent of an abstract pathname may be obtained by invoking the {@link #getParent} method of this class and consists of the pathname's prefix and each name in the pathname's name sequence except for the last. Each directory's absolute pathname is an ancestor of any File object with an absolute abstract pathname which begins with the directory's absolute pathname. For example, the directory denoted by the abstract pathname \"\/usr\" is an ancestor of the directory denoted by the pathname \"\/usr\/local\/bin\". The prefix concept is used to handle root directories on UNIX platforms, and drive specifiers, root directories and UNC pathnames on Microsoft Windows platforms, as follows: For UNIX platforms, the prefix of an absolute pathname is always \"\/\". Relative pathnames have no prefix. The abstract pathname denoting the root directory has the prefix \"\/\" and an empty name sequence. For Microsoft Windows platforms, the prefix of a pathname that contains a drive specifier consists of the drive letter followed by \":\" and possibly followed by \"\\\\\" if the pathname is absolute. The prefix of a UNC pathname is \"\\\\\\\\\"; the hostname and the share name are the first two names in the name sequence. A relative pathname that does not specify a drive has no prefix. Instances of this class may or may not denote an actual file-system object such as a file or a directory. If it does denote such an object then that object resides in a partition. A partition is an operating system-specific portion of storage for a file system. A single storage device (e.g. a physical disk-drive, flash memory, CD-ROM) may contain multiple partitions. The object, if any, will reside on the partition named by some ancestor of the absolute form of this pathname. A file system may implement restrictions to certain operations on the actual file-system object, such as reading, writing, and executing. These restrictions are collectively known as access permissions. The file system may have multiple sets of access permissions on a single object. For example, one set may apply to the object's owner, and another may apply to all other users. The access permissions on an object may cause some methods in this class to fail. Instances of the File class are immutable; that is, once created, the abstract pathname represented by a File object will never change. Interoperability with {@code java.nio.file} package The {@code java.nio.file} package defines interfaces and classes for the Java virtual machine to access files, file attributes, and file systems. This API may be used to overcome many of the limitations of the {@code java.io.File} class. The {@link #toPath toPath} method may be used to obtain a {@link Path} that uses the abstract path represented by a {@code File} object to locate a file. The resulting {@code Path} may be used with the {@link java.nio.file.Files} class to provide more efficient and extensive access to additional file operations, file attributes, and I\/O exceptions to help diagnose errors when an operation on a file fails." - }, - "framework": "generaljava", - "discovery": "manual", - "name": "java.io.File.getCanonicalFile", - "jar": null, - "comment": "Source training set", - "parameters": [], - "return": "java.io.File", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Removes the system property indicated by the specified key. First, if a security manager exists, its SecurityManager.checkPermission method is called with a PropertyPermission(key, \"write\") permission. This may result in a SecurityException being thrown. If no exception is thrown, the specified property is removed.", - "class": "The System class contains several useful class fields and methods. It cannot be instantiated. Among the facilities provided by the System class are standard input, standard output, and error output streams; access to externally defined properties and environment variables; a means of loading files and libraries; and a utility method for quickly copying a portion of an array." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "java.lang.System.clearProperty", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "The default behavior of this method is to set the character encoding on the wrapped request object.", - "class": "Provides a convenient implementation of the ServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.ServletRequestWrapper.setCharacterEncoding", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.oracle.com\/javase\/7\/docs\/api\/javax\/security\/auth\/login\/LoginContext.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Perform the authentication. This method invokes the {@code login} method for each LoginModule configured for the name specified to the {@code LoginContext} constructor, as determined by the login {@code Configuration}. Each {@code LoginModule} then performs its respective type of authentication (username\/password, smart card pin verification, etc.). This method completes a 2-phase authentication process by calling each configured LoginModule's {@code commit} method if the overall authentication succeeded (the relevant REQUIRED, REQUISITE, SUFFICIENT, and OPTIONAL LoginModules succeeded), or by calling each configured LoginModule's {@code abort} method if the overall authentication failed. If authentication succeeded, each successful LoginModule's {@code commit} method associates the relevant Principals and Credentials with the {@code Subject}. If authentication failed, each LoginModule's {@code abort} method removes\/destroys any previously stored state. If the {@code commit} phase of the authentication process fails, then the overall authentication fails and this method invokes the {@code abort} method for each configured {@code LoginModule}. If the {@code abort} phase fails for any reason, then this method propagates the original exception thrown either during the {@code login} phase or the {@code commit} phase. In either case, the overall authentication fails. In the case where multiple LoginModules fail, this method propagates the exception raised by the first {@code LoginModule} which failed. Note that if this method enters the {@code abort} phase (either the {@code login} or {@code commit} phase failed), this method invokes all LoginModules configured for the application regardless of their respective {@code Configuration} flag parameters. Essentially this means that {@code Requisite} and {@code Sufficient} semantics are ignored during the {@code abort} phase. This guarantees that proper cleanup and state restoration can take place.", - "class": "The {@code LoginContext} class describes the basic methods used to authenticate Subjects and provides a way to develop an application independent of the underlying authentication technology. A {@code Configuration} specifies the authentication technology, or {@code LoginModule}, to be used with a particular application. Different LoginModules can be plugged in under an application without requiring any modifications to the application itself. In addition to supporting pluggable authentication, this class also supports the notion of stacked authentication. Applications may be configured to use more than one LoginModule. For example, one could configure both a Kerberos LoginModule and a smart card LoginModule under an application. A typical caller instantiates a LoginContext with a name and a {@code CallbackHandler}. LoginContext uses the name as the index into a Configuration to determine which LoginModules should be used, and which ones must succeed in order for the overall authentication to succeed. The {@code CallbackHandler} is passed to the underlying LoginModules so they may communicate and interact with users (prompting for a username and password via a graphical user interface, for example). Once the caller has instantiated a LoginContext, it invokes the {@code login} method to authenticate a {@code Subject}. The {@code login} method invokes the configured modules to perform their respective types of authentication (username\/password, smart card pin verification, etc.). Note that the LoginModules will not attempt authentication retries nor introduce delays if the authentication fails. Such tasks belong to the LoginContext caller. If the {@code login} method returns without throwing an exception, then the overall authentication succeeded. The caller can then retrieve the newly authenticated Subject by invoking the {@code getSubject} method. Principals and Credentials associated with the Subject may be retrieved by invoking the Subject's respective {@code getPrincipals}, {@code getPublicCredentials}, and {@code getPrivateCredentials} methods. To logout the Subject, the caller calls the {@code logout} method. As with the {@code login} method, this {@code logout} method invokes the {@code logout} method for the configured modules. A LoginContext should not be used to authenticate more than one Subject. A separate LoginContext should be used to authenticate each different Subject. The following documentation applies to all LoginContext constructors: {@code Subject} If the constructor has a Subject input parameter, the LoginContext uses the caller-specified Subject object. If the caller specifies a {@code null} Subject and a {@code null} value is permitted, the LoginContext instantiates a new Subject. If the constructor does not have a Subject input parameter, the LoginContext instantiates a new Subject. {@code Configuration} If the constructor has a Configuration input parameter and the caller specifies a non-null Configuration, the LoginContext uses the caller-specified Configuration. If the constructor does not have a Configuration input parameter, or if the caller specifies a {@code null} Configuration object, the constructor uses the following call to get the installed Configuration: config = Configuration.getConfiguration();\n For both cases, the name argument given to the constructor is passed to the {@code Configuration.getAppConfigurationEntry} method. If the Configuration has no entries for the specified name, then the {@code LoginContext} calls {@code getAppConfigurationEntry} with the name, \"other\" (the default entry name). If there is no entry for \"other\", then a {@code LoginException} is thrown. When LoginContext uses the installed Configuration, the caller requires the createLoginContext.name and possibly createLoginContext.other AuthPermissions. Furthermore, the LoginContext will invoke configured modules from within an {@code AccessController.doPrivileged} call so that modules that perform security-sensitive tasks (such as connecting to remote hosts, and updating the Subject) will require the respective permissions, but the callers of the LoginContext will not require those permissions. When LoginContext uses a caller-specified Configuration, the caller does not require any createLoginContext AuthPermission. The LoginContext saves the {@code AccessControlContext} for the caller, and invokes the configured modules from within an {@code AccessController.doPrivileged} call constrained by that context. This means the caller context (stored when the LoginContext was created) must have sufficient permissions to perform any security-sensitive tasks that the modules may perform. {@code CallbackHandler} If the constructor has a CallbackHandler input parameter, the LoginContext uses the caller-specified CallbackHandler object. If the constructor does not have a CallbackHandler input parameter, or if the caller specifies a {@code null} CallbackHandler object (and a {@code null} value is permitted), the LoginContext queries the {@code auth.login.defaultCallbackHandler} security property for the fully qualified class name of a default handler implementation. If the security property is not set, then the underlying modules will not have a CallbackHandler for use in communicating with users. The caller thus assumes that the configured modules have alternative means for authenticating the user. When the LoginContext uses the installed Configuration (instead of a caller-specified Configuration, see above), then this LoginContext must wrap any caller-specified or default CallbackHandler implementation in a new CallbackHandler implementation whose {@code handle} method implementation invokes the specified CallbackHandler's {@code handle} method in a {@code java.security.AccessController.doPrivileged} call constrained by the caller's current {@code AccessControlContext}." - }, - "framework": "generaljava", - "discovery": "manual", - "name": "javax.security.auth.login.LoginContext.login", - "jar": null, - "comment": "Login", - "parameters": [], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/ws.apache.org\/xmlrpc\/apidocs\/org\/apache\/xmlrpc\/webserver\/XmlRpcServletServer.html", - "type": [ - "sink" - ], - "cwe": [ - "CWE078", - "CWE079" - ], - "javadoc": { - "method": "Processes the servlet request.", - "class": "An extension of {@link org.apache.xmlrpc.server.XmlRpcServer}, which is suitable for processing servlet requests." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xmlrpc.webserver.XmlRpcServletServer.execute", - "jar": null, - "comment": "Sink", - "parameters": [ - "javax.servlet.http.HttpServletRequest", - "javax.servlet.http.HttpServletResponse" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0, - 1 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring-framework\/docs\/current\/javadoc-api\/org\/springframework\/jms\/connection\/UserCredentialsConnectionFactoryAdapter.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Determine whether there are currently thread-bound credentials, using them if available, falling back to the statically specified username and password (i.e. values of the bean properties) else.", - "class": "An adapter for a target JMS {@link javax.jms.ConnectionFactory}, applying the given user credentials to every standard {@code createConnection()} call, that is, implicitly invoking {@code createConnection(username, password)} on the target. All other methods simply delegate to the corresponding methods of the target ConnectionFactory. Can be used to proxy a target JNDI ConnectionFactory that does not have user credentials configured. Client code can work with the ConnectionFactory without passing in username and password on every {@code createConnection()} call. In the following example, client code can simply transparently work with the preconfigured \"myConnectionFactory\", implicitly accessing \"myTargetConnectionFactory\" with the specified user credentials. <bean id=\"myTargetConnectionFactory\" class=\"org.springframework.jndi.JndiObjectFactoryBean\">\n <property name=\"jndiName\" value=\"java:comp\/env\/jms\/mycf\"\/>\n <\/bean>\n\n <bean id=\"myConnectionFactory\" class=\"org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter\">\n <property name=\"targetConnectionFactory\" ref=\"myTargetConnectionFactory\"\/>\n <property name=\"username\" value=\"myusername\"\/>\n <property name=\"password\" value=\"mypassword\"\/>\n <\/bean> If the \"username\" is empty, this proxy will simply delegate to the standard {@code createConnection()} method of the target ConnectionFactory. This can be used to keep a UserCredentialsConnectionFactoryAdapter bean definition just for the option of implicitly passing in user credentials if the particular target ConnectionFactory requires it." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter.createTopicConnection", - "jar": null, - "comment": "", - "parameters": [], - "return": "javax.jms.TopicConnection", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Returns the original filename in the client's filesystem, as provided by the browser (or other client software). In most cases, this will be the base file name, without path information. However, some clients, such as the Opera browser, do include path information.", - "class": "An adapter of Servlet 3.0 {@link Part} to Apache Commons FileUpload's {@link FileItem}" - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.apache.wicket.protocol.http.servlet.ServletPartFileItem.getName", - "jar": "wicket-core-7.8.0.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "http:\/\/docs.spring.io\/autorepo\/docs\/spring-security\/3.1.8.CI-SNAPSHOT\/apidocs\/org\/springframework\/security\/authentication\/rcp\/RemoteAuthenticationProvider.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Performs authentication with the same contract as {@link org.springframework.security.authentication.AuthenticationManager#authenticate(Authentication)} .", - "class": "Client-side object which queries a {@link RemoteAuthenticationManager} to validate an authentication request. A new Authentication object is created by this class comprising the request Authentication object's principal, credentials and the GrantedAuthority[]s returned by the RemoteAuthenticationManager. The RemoteAuthenticationManager should not require any special username or password setting on the remoting client proxy factory to execute the call. Instead the entire authentication request must be encapsulated solely within the Authentication request object. In practical terms this means the RemoteAuthenticationManager will not be protected by BASIC or any other HTTP-level authentication. If authentication fails, a RemoteAuthenticationException will be thrown. This exception should be caught and displayed to the user, enabling them to retry with alternative credentials etc." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.authentication.rcp.RemoteAuthenticationProvider.authenticate", - "jar": null, - "comment": "The input object is authenticated and returned.", - "parameters": [ - "org.springframework.security.core.Authentication" - ], - "return": "org.springframework.security.core.Authentication", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "http:\/\/grepcode.com\/file\/repo1.maven.org\/maven2\/org.apache.xmlrpc\/xmlrpc-server\/3.1\/org\/apache\/xmlrpc\/webserver\/ServletOutputStreamImpl.java", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "", - "class": "Default implementation of a servlet output stream. Handles output of HTTP headers." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xmlrpc.webserver.ServletOutputStreamImpl.write", - "jar": null, - "comment": "Sink", - "parameters": [ - "byte[]", - "int", - "int" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xmlrpc.webserver.ConnectionServer.writeResponse", - "jar": null, - "comment": "Sink", - "parameters": [ - "org.apache.xmlrpc.common.XmlRpcStreamRequestConfig", - "java.io.OutputStream", - "java.lang.Object" - ], - "return": "void", - "dataIn": { - "parameters": [ - 1 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Specifies the attributes that will be returned as part of the search. null indicates that all attributes will be returned. An empty array indicates no attributes are returned.", - "class": "This class encapsulates factors that determine scope of search and what gets returned as a result of the search. A SearchControls instance is not synchronized against concurrent multithreaded access. Multiple threads trying to access and modify a single SearchControls instance should lock the object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.naming.directory.SearchControls.setReturningAttributes", - "jar": "jndi-1.2.1.jar", - "comment": "", - "parameters": [ - "java.lang.String[]" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Decodes HTML entities.", - "class": "Reference implementation of the Encoder interface. This implementation takes a whitelist approach to encoding, meaning that everything not specifically identified in a list of \"immune\" characters is encoded." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.owasp.esapi.reference.DefaultEncoder.decodeForHTML", - "jar": "esapi-2.0_rc10.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE078" - ], - "javadoc": { - "method": "Loads the native library specified by the libname argument. The libname argument must not contain any platform specific prefix, file extension or path. If a native library called libname is statically linked with the VM, then the JNI_OnLoad_libname function exported by the library is invoked. See the JNI Specification for more details. Otherwise, the libname argument is loaded from a system library location and mapped to a native library image in an implementation- dependent manner. The call System.loadLibrary(name) is effectively equivalent to the call Runtime.getRuntime().loadLibrary(name)", - "class": "The System class contains several useful class fields and methods. It cannot be instantiated. Among the facilities provided by the System class are standard input, standard output, and error output streams; access to externally defined properties and environment variables; a means of loading files and libraries; and a utility method for quickly copying a portion of an array." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.lang.System.loadLibrary", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/ws.apache.org\/xmlrpc\/apidocs\/org\/apache\/xmlrpc\/webserver\/Connection.html", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "Writes the response header to the output stream.", - "class": "Handler for a single clients connection. This implementation is able to do HTTP keepalive. In other words, it can serve multiple requests via a single, physical connection." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xmlrpc.webserver.Connection.writeResponseHeader", - "jar": null, - "comment": "Sink", - "parameters": [ - "org.apache.xmlrpc.webserver.RequestData", - "int" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "See the general contract of the readUTF method of DataInput. Bytes for this operation are read from the contained input stream.", - "class": "A data input stream lets an application read primitive Java data types from an underlying input stream in a machine-independent way. An application uses a data output stream to write data that can later be read by a data input stream. DataInputStream is not necessarily safe for multithreaded access. Thread safety is optional and is the responsibility of users of methods in this class." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.io.DataInputStream.readUTF", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [], - "cwe": [], - "javadoc": { - "method": "Helper method to write out the index to disk.", - "class": "Represents the tag index for a blog." - }, - "framework": "pebble", - "discovery": "manual", - "name": "net.sourceforge.pebble.index.EmailSubscriptionList.writeIndex", - "jar": null, - "comment": "Counter example for sink", - "parameters": [], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "http:\/\/grepcode.com\/file\/repo1.maven.org\/maven2\/org.apache.ws.commons.axiom\/axiom-api\/1.2.12\/org\/apache\/axiom\/om\/impl\/SwitchingWrapper.java", - "type": [], - "cwe": [], - "javadoc": { - "method": "This is a very important method. It keeps the navigator one step ahead and pushes it one event ahead. If the nextNode is null then navigable is set to false. At the same time the parser and builder are set up for the upcoming event generation.", - "class": "Class used internally by {@link OMStAXWrapper}." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.axiom.om.impl.SwitchingWrapper.updateLastNode", - "jar": null, - "comment": "Counter example for sink", - "parameters": [], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/commons.apache.org\/proper\/commons-bcel\/apidocs\/org\/apache\/bcel\/util\/JavaWrapper.html", - "type": [ - "sink" - ], - "cwe": [ - "CWE078" - ], - "javadoc": { - "method": "Runs the main method of the given class with the arguments passed in argv", - "class": "Java interpreter replacement, i.e., wrapper that uses its own ClassLoader to modify\/generate classes as they're requested. You can take this as a template for your own applications. Call this wrapper with: java org.apache.bcel.util.JavaWrapper <real.class.name> [arguments] To use your own class loader you can set the \"bcel.classloader\" system property java org.apache.bcel.util.JavaWrapper -Dbcel.classloader=foo.MyLoader <real.class.name> [arguments]" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.bcel.util.JavaWrapper.runMain", - "jar": null, - "comment": "Sink", - "parameters": [ - "java.lang.String", - "java.lang.String[]" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Constructs an initial DirContext using the supplied environment. Environment properties are discussed in the javax.naming.InitialContext class description. This constructor will not modify environment or save a reference to it, but may save a clone. Caller should not modify mutable keys and values in environment after it has been passed to the constructor.", - "class": "This class is the starting context for performing directory operations. The documentation in the class description of InitialContext (including those for synchronization) apply here." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.naming.directory.InitialDirContext.", - "jar": "jndi-1.2.1.jar", - "comment": "", - "parameters": [ - "java.util.Hashtable" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Searches for the property with the specified key in this property list. If the key is not found in this property list, the default property list, and its defaults, recursively, are then checked. The method returns {@code null} if the property is not found.", - "class": "The {@code Properties} class represents a persistent set of properties. The {@code Properties} can be saved to a stream or loaded from a stream. Each key and its corresponding value in the property list is a string. A property list can contain another property list as its \"defaults\"; this second property list is searched if the property key is not found in the original property list. Because {@code Properties} inherits from {@code Hashtable}, the {@code put} and {@code putAll} methods can be applied to a {@code Properties} object. Their use is strongly discouraged as they allow the caller to insert entries whose keys or values are not {@code Strings}. The {@code setProperty} method should be used instead. If the {@code store} or {@code save} method is called on a \"compromised\" {@code Properties} object that contains a non-{@code String} key or value, the call will fail. Similarly, the call to the {@code propertyNames} or {@code list} method will fail if it is called on a \"compromised\" {@code Properties} object that contains a non-{@code String} key. The {@link #load(java.io.Reader) load(Reader)} \/ {@link #store(java.io.Writer, java.lang.String) store(Writer, String)} methods load and store properties from and to a character based stream in a simple line-oriented format specified below. The {@link #load(java.io.InputStream) load(InputStream)} \/ {@link #store(java.io.OutputStream, java.lang.String) store(OutputStream, String)} methods work the same way as the load(Reader)\/store(Writer, String) pair, except the input\/output stream is encoded in ISO 8859-1 character encoding. Characters that cannot be directly represented in this encoding can be written using Unicode escapes as defined in section 3.3 of The Java™ Language Specification; only a single 'u' character is allowed in an escape sequence. The native2ascii tool can be used to convert property files to and from other character encodings. The {@link #loadFromXML(InputStream)} and {@link #storeToXML(OutputStream, String, String)} methods load and store properties in a simple XML format. By default the UTF-8 character encoding is used, however a specific encoding may be specified if required. Implementations are required to support UTF-8 and UTF-16 and may support other encodings. An XML properties document has the following DOCTYPE declaration: \n Note that the system URI (http:\/\/java.sun.com\/dtd\/properties.dtd) is not accessed when exporting or importing properties; it merely serves as a string to uniquely identify the DTD, which is: \n\n \n\n \n\n \n\n \n\n \n\n \n This class is thread-safe: multiple threads can share a single Properties object without the need for external synchronization." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.util.Properties.getProperty", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE078" - ], - "javadoc": { - "method": "Causes the currently executing thread to sleep (temporarily cease execution) for the specified number of milliseconds plus the specified number of nanoseconds, subject to the precision and accuracy of system timers and schedulers. The thread does not lose ownership of any monitors.", - "class": "A thread is a thread of execution in a program. The Java Virtual Machine allows an application to have multiple threads of execution running concurrently. Every thread has a priority. Threads with higher priority are executed in preference to threads with lower priority. Each thread may or may not also be marked as a daemon. When code running in some thread creates a new Thread object, the new thread has its priority initially set equal to the priority of the creating thread, and is a daemon thread if and only if the creating thread is a daemon. When a Java Virtual Machine starts up, there is usually a single non-daemon thread (which typically calls the method named main of some designated class). The Java Virtual Machine continues to execute threads until either of the following occurs: The exit method of class Runtime has been called and the security manager has permitted the exit operation to take place. All threads that are not daemon threads have died, either by returning from the call to the run method or by throwing an exception that propagates beyond the run method. There are two ways to create a new thread of execution. One is to declare a class to be a subclass of Thread. This subclass should override the run method of class Thread. An instance of the subclass can then be allocated and started. For example, a thread that computes primes larger than a stated value could be written as follows: class PrimeThread extends Thread {\n long minPrime;\n PrimeThread(long minPrime) {\n this.minPrime = minPrime;\n }\n\n public void run() {\n \/\/ compute primes larger than minPrime\n  . . .\n }\n }\n The following code would then create a thread and start it running: PrimeThread p = new PrimeThread(143);\n p.start();\n The other way to create a thread is to declare a class that implements the Runnable interface. That class then implements the run method. An instance of the class can then be allocated, passed as an argument when creating Thread, and started. The same example in this other style looks like the following: class PrimeRun implements Runnable {\n long minPrime;\n PrimeRun(long minPrime) {\n this.minPrime = minPrime;\n }\n\n public void run() {\n \/\/ compute primes larger than minPrime\n  . . .\n }\n }\n The following code would then create a thread and start it running: PrimeRun p = new PrimeRun(143);\n new Thread(p).start();\n Every thread has a name for identification purposes. More than one thread may have the same name. If a name is not specified when a thread is created, a new name is generated for it. Unless otherwise noted, passing a {@code null} argument to a constructor or method in this class will cause a {@link NullPointerException} to be thrown." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.lang.Thread.sleep", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "long", - "int" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Returns a {@code Field} object that reflects the specified declared field of the class or interface represented by this {@code Class} object. The {@code name} parameter is a {@code String} that specifies the simple name of the desired field. If this {@code Class} object represents an array type, then this method does not find the {@code length} field of the array type.", - "class": "Instances of the class {@code Class} represent classes and interfaces in a running Java application. An enum is a kind of class and an annotation is a kind of interface. Every array also belongs to a class that is reflected as a {@code Class} object that is shared by all arrays with the same element type and number of dimensions. The primitive Java types ({@code boolean}, {@code byte}, {@code char}, {@code short}, {@code int}, {@code long}, {@code float}, and {@code double}), and the keyword {@code void} are also represented as {@code Class} objects. {@code Class} has no public constructor. Instead {@code Class} objects are constructed automatically by the Java Virtual Machine as classes are loaded and by calls to the {@code defineClass} method in the class loader. The following example uses a {@code Class} object to print the class name of an object: void printClassName(Object obj) {\n System.out.println(\"The class of \" + obj +\n \" is \" + obj.getClass().getName());\n }\n It is also possible to get the {@code Class} object for a named type (or for void) using a class literal. See Section 15.8.2 of The Java™ Language Specification. For example: {@code System.out.println(\"The name of class Foo is: \"+Foo.class.getName());}" - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.lang.Class.getDeclaredField", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.reflect.Field", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/hc.apache.org\/httpclient-3.x\/xref\/org\/apache\/commons\/httpclient\/HttpMethodDirector.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "", - "class": "Handles the process of executing a method including authentication, redirection and retries." - }, - "framework": "apachecommons", - "discovery": "manual", - "name": "org.apache.commons.httpclient.HttpMethodDirector.authenticateProxy", - "jar": null, - "comment": "The authentication string is added to the http method.", - "parameters": [ - "org.apache.commons.httpclient.HttpMethod" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/static.javadoc.io\/org.springframework\/spring\/2.0.3\/org\/springframework\/web\/filter\/RequestContextFilter.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "Set whether to expose the LocaleContext and RequestAttributes as inheritable for child threads (using an {@link java.lang.InheritableThreadLocal}). Default is \"false\", to avoid side effects on spawned background threads. Switch this to \"true\" to enable inheritance for custom child threads which are spawned during request processing and only used for this request (that is, ending after their initial task, without reuse of the thread). WARNING: Do not use inheritance for child threads if you are accessing a thread pool which is configured to potentially add new threads on demand (e.g. a JDK {@link java.util.concurrent.ThreadPoolExecutor}), since this will expose the inherited context to such a pooled thread.", - "class": "Servlet 2.3 Filter that exposes the request to the current thread, through both {@link org.springframework.context.i18n.LocaleContextHolder} and {@link RequestContextHolder}. To be registered as filter in web.xml. Alternatively, Spring's {@link org.springframework.web.context.request.RequestContextListener} and Spring's {@link org.springframework.web.servlet.DispatcherServlet} also expose the same request context to the current thread. This filter is mainly for use with third-party servlets, e.g. the JSF FacesServlet. Within Spring's own web support, DispatcherServlet's processing is perfectly sufficient." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.web.filter.RequestContextFilter.setThreadContextInheritable", - "jar": null, - "comment": "Counter example for source", - "parameters": [ - "boolean" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to return getRemoteHost() on the wrapped request object.", - "class": "Provides a convenient implementation of the ServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.ServletRequestWrapper.getRemoteHost", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "http:\/\/grepcode.com\/file\/repo1.maven.org\/maven2\/org.apache.ws.commons.axiom\/axiom-api\/1.2.12\/org\/apache\/axiom\/om\/impl\/SwitchingWrapper.java", - "type": [], - "cwe": [], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.axiom.om.impl.SwitchingWrapper.updateCompleteStatus", - "jar": null, - "comment": "Counter example for sink", - "parameters": [], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to return getLocalAddr() on the wrapped request object.", - "class": "Provides a convenient implementation of the ServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.ServletRequestWrapper.getLocalAddr", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/hc.apache.org\/httpcomponents-client-ga\/httpclient\/apidocs\/org\/apache\/http\/impl\/auth\/KerberosScheme.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Produces KERBEROS authorization Header based on token created by processChallenge.", - "class": "KERBEROS authentication scheme." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.http.impl.auth.KerberosScheme.authenticate", - "jar": null, - "comment": "The authentication string is calculated from the credentials and returned as a header.", - "parameters": [ - "org.apache.http.auth.Credentials", - "org.apache.http.HttpRequest", - "org.apache.http.protocol.HttpContext" - ], - "return": "org.apache.http.Header", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Encoder for XML comments. NOT FOR USE WITH (X)HTML CONTEXTS. (X)HTML comments may be interpreted by browsers as something other than a comment, typically in vendor specific extensions (e.g. {@code }). For (X)HTML it is recommend that unsafe content never be included in a comment. The caller must provide the comment start and end sequences. This method replaces all invalid XML characters with spaces, and replaces the \"--\" sequence (which is invalid in XML comments) with \"-~\" (hyphen-tilde). This encoding behavior may change in future releases. If the comments need to be decoded, the caller will need to come up with their own encode\/decode system. out.println(\"\");\n out.println(\"\");\n out.println(\"\");\n out.println(\"\");", - "class": "Encode -- fluent interface for contextual encoding. Example usage in a JSP: \" \/>\n There are two versions of each contextual encoding method. The first takes a {@code String} argument and returns the encoded version as a {@code String}. The second version writes the encoded version directly to a {@code Writer}. Please make sure to read and understand the context that the method encodes for. Encoding for the incorrect context will likely lead to exposing a cross-site scripting vulnerability." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.owasp.encoder.Encode.forXmlComment", - "jar": "encoder-1.2.1.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "This method encodes for HTML text content. It does not escape quotation characters and is thus unsafe for use with HTML attributes. Use either forHtml or forHtmlAttribute for those methods. Example JSP Usage \n Encoding Table Input Result {@code &} {@code &} {@code } {@code >} Additional Notes Single-quote character ({@code '}) and double-quote character ({@code \"}) do not require encoding in HTML blocks, unlike other HTML contexts. The encoding of the greater-than sign ({@code >}) is not strictly required, but is included for maximum compatibility. Carriage return (U+0D), line-feed (U+0A), horizontal tab (U+09) and space (U+20) are valid in quoted attributes and in block in an unescaped form. Surrogate pairs are passed through only if valid. Characters that are not valid according to the XML specification are replaced by a space character as they could lead to parsing errors. In particular only {@code #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]} are considered valid.", - "class": "Encode -- fluent interface for contextual encoding. Example usage in a JSP: \" \/>\n There are two versions of each contextual encoding method. The first takes a {@code String} argument and returns the encoded version as a {@code String}. The second version writes the encoded version directly to a {@code Writer}. Please make sure to read and understand the context that the method encodes for. Encoding for the incorrect context will likely lead to exposing a cross-site scripting vulnerability." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.owasp.encoder.Encode.forHtmlContent", - "jar": "encoder-1.2.1.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Encode data for use in an XPath query. NB: The reference implementation encodes almost everything and may over-encode. The difficulty with XPath encoding is that XPath has no built in mechanism for escaping characters. It is possible to use XQuery in a parameterized way to prevent injection. For more information, refer to this article which specifies the following list of characters as the most dangerous: ^&\"*';<>(). This paper suggests disallowing ' and \" in queries.", - "class": "Reference implementation of the Encoder interface. This implementation takes a whitelist approach to encoding, meaning that everything not specifically identified in a list of \"immune\" characters is encoded." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.owasp.esapi.reference.DefaultEncoder.encodeForXPath", - "jar": "esapi-2.0_rc10.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/github.com\/WebGoat\/WebGoat-Legacy\/blob\/master\/src\/main\/java\/org\/owasp\/webgoat\/session\/DatabaseUtilities.java", - "type": [ - "auth-no-change", - "sink" - ], - "cwe": [ - "CWE089", - "CWE306" - ], - "javadoc": { - "method": "", - "class": "This file is part of WebGoat, an Open Web Application Security Project utility. For details, please see http:\/\/www.owasp.org\/ Copyright (c) 2002 - 20014 Bruce Mayhew This program is free software; you can redistribute it and\/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. Getting Source ============== Source for this application is maintained at https:\/\/github.com\/WebGoat\/WebGoat, a repository for free software projects." - }, - "framework": "webgoat", - "discovery": "manual", - "name": "org.owasp.webgoat.session.DatabaseUtilities.getHsqldbConnection", - "jar": null, - "comment": "creates a database connection", - "parameters": [ - "java.lang.String", - "org.owasp.webgoat.session.WebgoatContext" - ], - "return": "java.sql.Connection", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to return getContentType() on the wrapped request object.", - "class": "Provides a convenient implementation of the ServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.ServletRequestWrapper.getContentType", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [], - "cwe": [], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.web.socket.sockjs.transport.handler.XhrStreamingTransportHandler.access$000", - "jar": null, - "comment": "Counter example for sanitizer (returns byte[], but implicit method)", - "parameters": [], - "return": "byte[]", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring-security\/site\/docs\/current\/apidocs\/org\/springframework\/security\/authentication\/jaas\/SecurityContextLoginModule.html", - "type": [ - "auth-unsafe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Log out the Subject.", - "class": "An implementation of {@link LoginModule} that uses a Spring Security {@link org.springframework.security.core.context.SecurityContext SecurityContext} to provide authentication. This LoginModule provides opposite functionality to the {@link JaasAuthenticationProvider} API, and should not really be used in conjunction with it. The {@link JaasAuthenticationProvider} allows Spring Security to authenticate against Jaas. The SecurityContextLoginModule allows a Jaas based application to authenticate against Spring Security. If there is no Authentication in the {@link SecurityContextHolder} the login() method will throw a LoginException by default. This functionality can be changed with the ignoreMissingAuthentication option by setting it to \"true\". Setting ignoreMissingAuthentication=true will tell the SecurityContextLoginModule to simply return false and be ignored if the authentication is null." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.authentication.jaas.SecurityContextLoginModule.logout", - "jar": null, - "comment": "Puts the program is an unauthenticated state.", - "parameters": [], - "return": "boolean", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Assigns a new value to this Cookie. If you use a binary value, you may want to use BASE64 encoding. With Version 0 cookies, values should not contain white space, brackets, parentheses, equals signs, commas, double quotes, slashes, question marks, at signs, colons, and semicolons. Empty values may not behave the same way on all browsers.", - "class": "Creates a cookie, a small amount of information sent by a servlet to a Web browser, saved by the browser, and later sent back to the server. A cookie's value can uniquely identify a client, so cookies are commonly used for session management. A cookie has a name, a single value, and optional attributes such as a comment, path and domain qualifiers, a maximum age, and a version number. Some Web browsers have bugs in how they handle the optional attributes, so use them sparingly to improve the interoperability of your servlets. The servlet sends cookies to the browser by using the {@link HttpServletResponse#addCookie} method, which adds fields to HTTP response headers to send cookies to the browser, one at a time. The browser is expected to support 20 cookies for each Web server, 300 cookies total, and may limit cookie size to 4 KB each. The browser returns cookies to the servlet by adding fields to HTTP request headers. Cookies can be retrieved from a request by using the {@link HttpServletRequest#getCookies} method. Several cookies might have the same name but different path attributes. Cookies affect the caching of the Web pages that use them. HTTP 1.0 does not cache pages that use cookies created with this class. This class does not support the cache control defined with HTTP 1.1. This class supports both the Version 0 (by Netscape) and Version 1 (by RFC 2109) cookie specifications. By default, cookies are created using Version 0 to ensure the best interoperability." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.Cookie.setValue", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE089" - ], - "javadoc": { - "method": "Update the persistent instance with the identifier of the given detached instance. If there is a persistent instance with the same identifier, an exception is thrown. This operation cascades to associated instances if the association is mapped with {@code cascade=\"save-update\"}", - "class": "Concrete implementation of a Session. Exposes two interfaces: {@link org.hibernate.Session} to the application {@link org.hibernate.engine.spi.SessionImplementor} to other Hibernate components (SPI) This class is not thread-safe." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.hibernate.internal.SessionImpl.update", - "jar": "hibernate-core-5.2.10.Final.jar", - "comment": "", - "parameters": [ - "java.lang.String", - "java.lang.Object" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring\/docs\/current\/javadoc-api\/org\/springframework\/jdbc\/core\/JdbcTemplate.html", - "type": [ - "sink" - ], - "cwe": [ - "CWE089" - ], - "javadoc": { - "method": "Issue a single SQL execute, typically a DDL statement.", - "class": "This is the central class in the JDBC core package. It simplifies the use of JDBC and helps to avoid common errors. It executes core JDBC workflow, leaving application code to provide SQL and extract results. This class executes SQL queries or updates, initiating iteration over ResultSets and catching JDBC exceptions and translating them to the generic, more informative exception hierarchy defined in the org.springframework.dao package. Code using this class need only implement callback interfaces, giving them a clearly defined contract. The {@link PreparedStatementCreator} callback interface creates a prepared statement given a Connection, providing SQL and any necessary parameters. The {@link ResultSetExtractor} interface extracts values from a ResultSet. See also {@link PreparedStatementSetter} and {@link RowMapper} for two popular alternative callback interfaces. Can be used within a service implementation via direct instantiation with a DataSource reference, or get prepared in an application context and given to services as bean reference. Note: The DataSource should always be configured as a bean in the application context, in the first case given to the service directly, in the second case to the prepared template. Because this class is parameterizable by the callback interfaces and the {@link org.springframework.jdbc.support.SQLExceptionTranslator} interface, there should be no need to subclass it. All SQL operations performed by this class are logged at debug level, using \"org.springframework.jdbc.core.JdbcTemplate\" as log category." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.jdbc.core.JdbcTemplate.execute", - "jar": null, - "comment": "Sink", - "parameters": [ - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Log a LogRecord. All the other logging methods in this class call through this method to actually perform any logging. Subclasses can override this single method to capture all log activity.", - "class": "A Logger object is used to log messages for a specific system or application component. Loggers are normally named, using a hierarchical dot-separated namespace. Logger names can be arbitrary strings, but they should normally be based on the package name or class name of the logged component, such as java.net or javax.swing. In addition it is possible to create \"anonymous\" Loggers that are not stored in the Logger namespace. Logger objects may be obtained by calls on one of the getLogger factory methods. These will either create a new Logger or return a suitable existing Logger. It is important to note that the Logger returned by one of the {@code getLogger} factory methods may be garbage collected at any time if a strong reference to the Logger is not kept. Logging messages will be forwarded to registered Handler objects, which can forward the messages to a variety of destinations, including consoles, files, OS logs, etc. Each Logger keeps track of a \"parent\" Logger, which is its nearest existing ancestor in the Logger namespace. Each Logger has a \"Level\" associated with it. This reflects a minimum Level that this logger cares about. If a Logger's level is set to null, then its effective level is inherited from its parent, which may in turn obtain it recursively from its parent, and so on up the tree. The log level can be configured based on the properties from the logging configuration file, as described in the description of the LogManager class. However it may also be dynamically changed by calls on the Logger.setLevel method. If a logger's level is changed the change may also affect child loggers, since any child logger that has null as its level will inherit its effective level from its parent. On each logging call the Logger initially performs a cheap check of the request level (e.g., SEVERE or FINE) against the effective log level of the logger. If the request level is lower than the log level, the logging call returns immediately. After passing this initial (cheap) test, the Logger will allocate a LogRecord to describe the logging message. It will then call a Filter (if present) to do a more detailed check on whether the record should be published. If that passes it will then publish the LogRecord to its output Handlers. By default, loggers also publish to their parent's Handlers, recursively up the tree. Each Logger may have a {@code ResourceBundle} associated with it. The {@code ResourceBundle} may be specified by name, using the {@link #getLogger(java.lang.String, java.lang.String)} factory method, or by value - using the {@link #setResourceBundle(java.util.ResourceBundle) setResourceBundle} method. This bundle will be used for localizing logging messages. If a Logger does not have its own {@code ResourceBundle} or resource bundle name, then it will inherit the {@code ResourceBundle} or resource bundle name from its parent, recursively up the tree. Most of the logger output methods take a \"msg\" argument. This msg argument may be either a raw value or a localization key. During formatting, if the logger has (or inherits) a localization {@code ResourceBundle} and if the {@code ResourceBundle} has a mapping for the msg string, then the msg string is replaced by the localized value. Otherwise the original msg string is used. Typically, formatters use java.text.MessageFormat style formatting to format parameters, so for example a format string \"{0} {1}\" would format two parameters as strings. A set of methods alternatively take a \"msgSupplier\" instead of a \"msg\" argument. These methods take a {@link Supplier}{@code } function which is invoked to construct the desired log message only when the message actually is to be logged based on the effective log level thus eliminating unnecessary message construction. For example, if the developer wants to log system health status for diagnosis, with the String-accepting version, the code would look like: \n\n class DiagnosisMessages {\n static String systemHealthStatus() {\n \/\/ collect system health information\n ...\n }\n }\n ...\n logger.log(Level.FINER, DiagnosisMessages.systemHealthStatus());\n With the above code, the health status is collected unnecessarily even when the log level FINER is disabled. With the Supplier-accepting version as below, the status will only be collected when the log level FINER is enabled. \n\n logger.log(Level.FINER, DiagnosisMessages::systemHealthStatus);\n When looking for a {@code ResourceBundle}, the logger will first look at whether a bundle was specified using {@link #setResourceBundle(java.util.ResourceBundle) setResourceBundle}, and then only whether a resource bundle name was specified through the {@link #getLogger(java.lang.String, java.lang.String) getLogger} factory method. If no {@code ResourceBundle} or no resource bundle name is found, then it will use the nearest {@code ResourceBundle} or resource bundle name inherited from its parent tree. When a {@code ResourceBundle} was inherited or specified through the {@link #setResourceBundle(java.util.ResourceBundle) setResourceBundle} method, then that {@code ResourceBundle} will be used. Otherwise if the logger only has or inherited a resource bundle name, then that resource bundle name will be mapped to a {@code ResourceBundle} object, using the default Locale at the time of logging. When mapping resource bundle names to {@code ResourceBundle} objects, the logger will first try to use the Thread's {@linkplain java.lang.Thread#getContextClassLoader() context class loader} to map the given resource bundle name to a {@code ResourceBundle}. If the thread context class loader is {@code null}, it will try the {@linkplain java.lang.ClassLoader#getSystemClassLoader() system class loader} instead. If the {@code ResourceBundle} is still not found, it will use the class loader of the first caller of the {@link #getLogger(java.lang.String, java.lang.String) getLogger} factory method. Formatting (including localization) is the responsibility of the output Handler, which will typically call a Formatter. Note that formatting need not occur synchronously. It may be delayed until a LogRecord is actually written to an external sink. The logging methods are grouped in five main categories: There are a set of \"log\" methods that take a log level, a message string, and optionally some parameters to the message string. There are a set of \"logp\" methods (for \"log precise\") that are like the \"log\" methods, but also take an explicit source class name and method name. There are a set of \"logrb\" method (for \"log with resource bundle\") that are like the \"logp\" method, but also take an explicit resource bundle object for use in localizing the log message. There are convenience methods for tracing method entries (the \"entering\" methods), method returns (the \"exiting\" methods) and throwing exceptions (the \"throwing\" methods). Finally, there are a set of convenience methods for use in the very simplest cases, when a developer simply wants to log a simple string at a given log level. These methods are named after the standard Level names (\"severe\", \"warning\", \"info\", etc.) and take a single argument, a message string. For the methods that do not take an explicit source name and method name, the Logging framework will make a \"best effort\" to determine which class and method called into the logging method. However, it is important to realize that this automatically inferred information may only be approximate (or may even be quite wrong!). Virtual machines are allowed to do extensive optimizations when JITing and may entirely remove stack frames, making it impossible to reliably locate the calling class and method. All methods on Logger are multi-thread safe. Subclassing Information: Note that a LogManager class may provide its own implementation of named Loggers for any point in the namespace. Therefore, any subclasses of Logger (unless they are implemented in conjunction with a new LogManager class) should take care to obtain a Logger instance from the LogManager class and should delegate operations such as \"isLoggable\" and \"log(LogRecord)\" to that instance. Note that in order to intercept all logging output, subclasses need only override the log(LogRecord) method. All the other logging methods are implemented as calls on this log(LogRecord) method." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.util.logging.Logger.log", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.util.logging.LogRecord" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/shiro.apache.org\/static\/1.2.1\/apidocs\/org\/apache\/shiro\/subject\/support\/DelegatingSubject.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Performs a login attempt for this Subject\/user. If unsuccessful, an {@link AuthenticationException} is thrown, the subclass of which identifies why the attempt failed. If successful, the account data associated with the submitted principals\/credentials will be associated with this {@code Subject} and the method will return quietly. Upon returning quietly, this {@code Subject} instance can be considered authenticated and {@link #getPrincipal() getPrincipal()} will be non-null and {@link #isAuthenticated() isAuthenticated()} will be {@code true}.", - "class": "Implementation of the {@code Subject} interface that delegates method calls to an underlying {@link org.apache.shiro.mgt.SecurityManager SecurityManager} instance for security checks. It is essentially a {@code SecurityManager} proxy. This implementation does not maintain state such as roles and permissions (only {@code Subject} {@link #getPrincipals() principals}, such as usernames or user primary keys) for better performance in a stateless architecture. It instead asks the underlying {@code SecurityManager} every time to perform the authorization check. A common misconception in using this implementation is that an EIS resource (RDBMS, etc) would be \"hit\" every time a method is called. This is not necessarily the case and is up to the implementation of the underlying {@code SecurityManager} instance. If caching of authorization data is desired (to eliminate EIS round trips and therefore improve database performance), it is considered much more elegant to let the underlying {@code SecurityManager} implementation or its delegate components manage caching, not this class. A {@code SecurityManager} is considered a business-tier component, where caching strategies are better managed. Applications from large and clustered to simple and JVM-local all benefit from stateless architectures. This implementation plays a part in the stateless programming paradigm and should be used whenever possible." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.shiro.subject.support.DelegatingSubject.login", - "jar": null, - "comment": "Login with the tocken.", - "parameters": [ - "org.apache.shiro.authc.AuthenticationToken" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "Writes an array of characters. This method cannot be inherited from the Writer class because it must suppress I\/O exceptions.", - "class": "Prints formatted representations of objects to a text-output stream. This class implements all of the print methods found in {@link PrintStream}. It does not contain methods for writing raw bytes, for which a program should use unencoded byte streams. Unlike the {@link PrintStream} class, if automatic flushing is enabled it will be done only when one of the println, printf, or format methods is invoked, rather than whenever a newline character happens to be output. These methods use the platform's own notion of line separator rather than the newline character. Methods in this class never throw I\/O exceptions, although some of its constructors may. The client may inquire as to whether any errors have occurred by invoking {@link #checkError checkError()}." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.io.PrintWriter.write", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "char[]" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "Prints a character and then terminates the line. This method behaves as though it invokes {@link #print(char)} and then {@link #println()}.", - "class": "Prints formatted representations of objects to a text-output stream. This class implements all of the print methods found in {@link PrintStream}. It does not contain methods for writing raw bytes, for which a program should use unencoded byte streams. Unlike the {@link PrintStream} class, if automatic flushing is enabled it will be done only when one of the println, printf, or format methods is invoked, rather than whenever a newline character happens to be output. These methods use the platform's own notion of line separator rather than the newline character. Methods in this class never throw I\/O exceptions, although some of its constructors may. The client may inquire as to whether any errors have occurred by invoking {@link #checkError checkError()}." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.io.PrintWriter.println", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "char" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to return getReader() on the wrapped request object.", - "class": "Provides a convenient implementation of the ServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.ServletRequestWrapper.getReader", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.io.BufferedReader", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/github.com\/OWASP\/WebGoat\/blob\/master\/webgoat\/src\/main\/java\/org\/owasp\/webgoat\/HammerHead.java", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "Description of the Method", - "class": "************************************************************************************************* This file is part of WebGoat, an Open Web Application Security Project utility. For details, please see http:\/\/www.owasp.org\/ Copyright (c) 2002 - 20014 Bruce Mayhew This program is free software; you can redistribute it and\/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. Getting Source ============== Source for this application is maintained at https:\/\/github.com\/WebGoat\/WebGoat, a repository for free software projects." - }, - "framework": "webgoat", - "discovery": "manual", - "name": "org.owasp.webgoat.HammerHead.log", - "jar": null, - "comment": "Sink", - "parameters": [ - "javax.servlet.http.HttpServletRequest", - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [ - 1 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/lang\/Runtime.html#exec(java.lang.String)", - "type": [ - "sink" - ], - "cwe": [ - "CWE078" - ], - "javadoc": { - "method": "Executes the specified string command in a separate process. This is a convenience method. An invocation of the form exec(command) behaves in exactly the same way as the invocation {@link #exec(String, String[], File) exec}(command, null, null).", - "class": "Every Java application has a single instance of class Runtime that allows the application to interface with the environment in which the application is running. The current runtime can be obtained from the getRuntime method. An application cannot create its own instance of this class." - }, - "framework": "generaljava", - "discovery": "manual", - "name": "java.lang.Runtime.exec", - "jar": null, - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.Process", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.oracle.com\/javaee\/6\/api\/javax\/servlet\/ServletRequestWrapper.html", - "type": [ - "source" - ], - "cwe": [ - "CWE601" - ], - "javadoc": { - "method": "The default behavior of this method is to return getParameter(String name) on the wrapped request object.", - "class": "Provides a convenient implementation of the ServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "javageneral", - "discovery": "manual", - "name": "javax.servlet.ServletRequestWrapper.getParameter", - "jar": null, - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/github.com\/OWASP\/WebGoat\/blob\/master\/webgoat\/src\/main\/java\/org\/owasp\/webgoat\/session\/WebSession.java", - "type": [ - "auth-no-change" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Gets the authenticated attribute of the WebSession object", - "class": "************************************************************************************************* This file is part of WebGoat, an Open Web Application Security Project utility. For details, please see http:\/\/www.owasp.org\/ Copyright (c) 2002 - 20014 Bruce Mayhew This program is free software; you can redistribute it and\/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. Getting Source ============== Source for this application is maintained at https:\/\/github.com\/WebGoat\/WebGoat, a repository for free software projects." - }, - "framework": "webgoat", - "discovery": "manual", - "name": "org.owasp.webgoat.session.WebSession.isAuthenticated", - "jar": null, - "comment": "Puts the program is an unauthenticated state.", - "parameters": [], - "return": "boolean", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "http:\/\/help.collab.net\/index.jsp?topic=\/iaf-700\/pebble-soap-javadocs\/net\/sourceforge\/pebble\/domain\/Comment.html", - "type": [ - "auth-no-change" - ], - "cwe": [ - "CWE306" - ], - "javadoc": { - "method": "", - "class": "Represents a blog comment." - }, - "framework": "pebble", - "discovery": "manual", - "name": "net.sourceforge.pebble.domain.Comment.isAuthenticated", - "jar": null, - "comment": "Returnes whether the program is authenticated.", - "parameters": [], - "return": "boolean", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Specifies a path for the cookie to which the client should return the cookie. The cookie is visible to all the pages in the directory you specify, and all the pages in that directory's subdirectories. A cookie's path must include the servlet that set the cookie, for example, \/catalog, which makes the cookie visible to all directories on the server under \/catalog. Consult RFC 2109 (available on the Internet) for more information on setting path names for cookies.", - "class": "Creates a cookie, a small amount of information sent by a servlet to a Web browser, saved by the browser, and later sent back to the server. A cookie's value can uniquely identify a client, so cookies are commonly used for session management. A cookie has a name, a single value, and optional attributes such as a comment, path and domain qualifiers, a maximum age, and a version number. Some Web browsers have bugs in how they handle the optional attributes, so use them sparingly to improve the interoperability of your servlets. The servlet sends cookies to the browser by using the {@link HttpServletResponse#addCookie} method, which adds fields to HTTP response headers to send cookies to the browser, one at a time. The browser is expected to support 20 cookies for each Web server, 300 cookies total, and may limit cookie size to 4 KB each. The browser returns cookies to the servlet by adding fields to HTTP request headers. Cookies can be retrieved from a request by using the {@link HttpServletRequest#getCookies} method. Several cookies might have the same name but different path attributes. Cookies affect the caching of the Web pages that use them. HTTP 1.0 does not cache pages that use cookies created with this class. This class does not support the cache control defined with HTTP 1.1. This class supports both the Version 0 (by Netscape) and Version 1 (by RFC 2109) cookie specifications. By default, cookies are created using Version 0 to ensure the best interoperability." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.Cookie.setPath", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to return getRemoteUser() on the wrapped request object.", - "class": "Provides a convenient implementation of the HttpServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.HttpServletRequestWrapper.getRemoteUser", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "See the general contract of the readLine method of DataInput. Bytes for this operation are read from the contained input stream.", - "class": "A data input stream lets an application read primitive Java data types from an underlying input stream in a machine-independent way. An application uses a data output stream to write data that can later be read by a data input stream. DataInputStream is not necessarily safe for multithreaded access. Thread safety is optional and is the responsibility of users of methods in this class." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.io.DataInputStream.readLine", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring-framework\/docs\/current\/javadoc-api\/org\/springframework\/web\/socket\/server\/standard\/GlassFishRequestUpgradeStrategy.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.web.socket.server.standard.GlassFishRequestUpgradeStrategy.handleSuccess", - "jar": null, - "comment": "Counter example for sink", - "parameters": [ - "javax.servlet.http.HttpServletRequest", - "javax.servlet.http.HttpServletResponse", - "org.glassfish.tyrus.spi.WebSocketEngine$UpgradeInfo", - "org.glassfish.tyrus.core.TyrusUpgradeResponse" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Encodes for unquoted HTML attribute values. {@link #forHtml(String)} or {@link #forHtmlAttribute(String)} should usually be preferred over this method as quoted attributes are XHTML compliant. When using this method, the caller is not required to provide quotes around the attribute (since it is encoded for such context). The caller should make sure that the attribute value does not abut unsafe characters--and thus should usually err on the side of including a space character after the value. Use of this method is discouraged as quoted attributes are generally more compatible and safer. Also note, that no attempt has been made to optimize this encoding, though it is still probably faster than other encoding libraries. Example JSP Usage >\n Encoding Table Input Result {@code U+0009} (horizontal tab) {@code } {@code U+000A} (line feed) {@code } {@code U+000C} (form feed) {@code } {@code U+000D} (carriage return) {@code } {@code U+0020} (space) {@code } {@code &} {@code &} {@code } {@code >} {@code \"} {@code \"} {@code '} {@code '} {@code \/} {@code \/} {@code =} {@code =} {@code `} {@code `} {@code U+0085} (next line) {@code \u2026} {@code U+2028} (line separator) {@code \u2028} {@code U+2029} (paragraph separator) {@code \u2029} Additional Notes The following characters are not encoded: {@code 0-9, a-z, A-Z}, {@code !}, {@code #}, {@code $}, {@code %}, {@code (}, {@code )}, {@code *}, {@code +}, {@code ,}, {@code -}, {@code .}, {@code [}, {@code \\}, {@code ]}, {@code ^}, {@code _}, {@code }}. Surrogate pairs are passed through only if valid. Invalid surrogate pairs are replaced by a hyphen (-). Characters in the C0 and C1 control blocks and not otherwise listed above are considered invalid and replaced by a hyphen (-) character. Unicode \"non-characters\" are replaced by hyphens (-).", - "class": "Encode -- fluent interface for contextual encoding. Example usage in a JSP: \" \/>\n There are two versions of each contextual encoding method. The first takes a {@code String} argument and returns the encoded version as a {@code String}. The second version writes the encoded version directly to a {@code Writer}. Please make sure to read and understand the context that the method encodes for. Encoding for the incorrect context will likely lead to exposing a cross-site scripting vulnerability." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.owasp.encoder.Encode.forHtmlUnquotedAttribute", - "jar": "encoder-1.2.1.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Sets the system property indicated by the specified key. First, if a security manager exists, its SecurityManager.checkPermission method is called with a PropertyPermission(key, \"write\") permission. This may result in a SecurityException being thrown. If no exception is thrown, the specified property is set to the given value.", - "class": "The System class contains several useful class fields and methods. It cannot be instantiated. Among the facilities provided by the System class are standard input, standard output, and error output streams; access to externally defined properties and environment variables; a means of loading files and libraries; and a utility method for quickly copying a portion of an array." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "java.lang.System.setProperty", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.lang.String", - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.apache.wicket.protocol.http.ClientProperties.getNavigatorPlatform", - "jar": "wicket-core-7.8.0.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/commons.apache.org\/proper\/commons-jxpath\/apidocs\/org\/apache\/commons\/jxpath\/ri\/JXPathContextReferenceImpl.html", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Traverses the xpath and returns the resulting object. Primitive types are wrapped into objects.", - "class": "The reference implementation of JXPathContext." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.commons.jxpath.ri.JXPathContextReferenceImpl.getValue", - "jar": null, - "comment": "Source training set", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.Object", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/github.com\/sonatype\/WebGoat\/blob\/master\/src\/main\/java\/org\/owasp\/webgoat\/session\/LessonSession.java", - "type": [ - "auth-safe-state", - "sink" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "setAuthenticated.", - "class": "This file is part of WebGoat, an Open Web Application Security Project utility. For details, please see http:\/\/www.owasp.org\/ Copyright (c) 2002 - 20014 Bruce Mayhew This program is free software; you can redistribute it and\/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. Getting Source ============== Source for this application is maintained at https:\/\/github.com\/WebGoat\/WebGoat, a repository for free software projects. Represents a virtual session for a lesson. Lesson-specific session data may be stored here." - }, - "framework": "webgoat", - "discovery": "manual", - "name": "org.owasp.webgoat.session.LessonSession.setAuthenticated", - "jar": null, - "comment": "When the input is true, the tocken should be trusted.", - "parameters": [ - "boolean" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "This method encodes for JavaScript strings contained within HTML script attributes (such as {@code onclick}). It is NOT safe for use in script blocks. The caller MUST provide the surrounding quotation characters. This method performs the same encode as {@link #forJavaScript(String)} with the exception that \/ is not escaped. Unless you are interested in saving a few bytes of output or are writing a framework on top of this library, it is recommend that you use {@link #forJavaScript(String)} over this method. Example JSP Usage: ');\">", - "class": "Encode -- fluent interface for contextual encoding. Example usage in a JSP: \" \/>\n There are two versions of each contextual encoding method. The first takes a {@code String} argument and returns the encoded version as a {@code String}. The second version writes the encoded version directly to a {@code Writer}. Please make sure to read and understand the context that the method encodes for. Encoding for the incorrect context will likely lead to exposing a cross-site scripting vulnerability." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.owasp.encoder.Encode.forJavaScriptAttribute", - "jar": "encoder-1.2.1.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Encode data for use in Cascading Style Sheets (CSS) content.", - "class": "Reference implementation of the Encoder interface. This implementation takes a whitelist approach to encoding, meaning that everything not specifically identified in a list of \"immune\" characters is encoded." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.owasp.esapi.reference.DefaultEncoder.encodeForCSS", - "jar": "esapi-2.0_rc10.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/shiro.apache.org\/static\/1.2.1\/apidocs\/org\/apache\/shiro\/subject\/support\/DelegatingSubject.html", - "type": [ - "auth-no-change" - ], - "cwe": [ - "CWE306" - ], - "javadoc": { - "method": "Returns {@code true} if this Subject\/user proved their identity during their current session by providing valid credentials matching those known to the system, {@code false} otherwise. Note that even if this Subject's identity has been remembered via 'remember me' services, this method will still return {@code false} unless the user has actually logged in with proper credentials during their current session. See the {@link #isRemembered() isRemembered()} method JavaDoc for more.", - "class": "Implementation of the {@code Subject} interface that delegates method calls to an underlying {@link org.apache.shiro.mgt.SecurityManager SecurityManager} instance for security checks. It is essentially a {@code SecurityManager} proxy. This implementation does not maintain state such as roles and permissions (only {@code Subject} {@link #getPrincipals() principals}, such as usernames or user primary keys) for better performance in a stateless architecture. It instead asks the underlying {@code SecurityManager} every time to perform the authorization check. A common misconception in using this implementation is that an EIS resource (RDBMS, etc) would be \"hit\" every time a method is called. This is not necessarily the case and is up to the implementation of the underlying {@code SecurityManager} instance. If caching of authorization data is desired (to eliminate EIS round trips and therefore improve database performance), it is considered much more elegant to let the underlying {@code SecurityManager} implementation or its delegate components manage caching, not this class. A {@code SecurityManager} is considered a business-tier component, where caching strategies are better managed. Applications from large and clustered to simple and JVM-local all benefit from stateless architectures. This implementation plays a part in the stateless programming paradigm and should be used whenever possible." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.shiro.subject.support.DelegatingSubject.isAuthenticated", - "jar": null, - "comment": "Check if the program is authenticated.", - "parameters": [], - "return": "boolean", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Writes the specified message to a servlet log file, prepended by the servlet's name. See {@link ServletContext#log(String)}.", - "class": "Defines a generic, protocol-independent servlet. To write an HTTP servlet for use on the Web, extend {@link javax.servlet.http.HttpServlet} instead. GenericServlet implements the Servlet and ServletConfig interfaces. GenericServlet may be directly extended by a servlet, although it's more common to extend a protocol-specific subclass such as HttpServlet. GenericServlet makes writing servlets easier. It provides simple versions of the lifecycle methods init and destroy and of the methods in the ServletConfig interface. GenericServlet also implements the log method, declared in the ServletContext interface. To write a generic servlet, you need only override the abstract service method." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.GenericServlet.log", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/ws.apache.org\/xmlrpc\/apidocs\/org\/apache\/xmlrpc\/webserver\/HttpServletResponseImpl.html", - "type": [ - "source" - ], - "cwe": [ - "CWE079", - "CWE601" - ], - "javadoc": { - "method": "Gets the value of the response header with the given name. If a response header with the given name exists and contains multiple values, the value that was added first will be returned. This method considers only response headers set or added via {@link #setHeader}, {@link #addHeader}, {@link #setDateHeader}, {@link #addDateHeader}, {@link #setIntHeader}, or {@link #addIntHeader}, respectively.", - "class": "Stub implementation of a {@link javax.servlet.http.HttpServletResponse} with lots of unimplemented methods. I implemented only those, which are required for testing the {@link org.apache.xmlrpc.webserver.XmlRpcServlet}. Perhaps someone else is adding more at a later time?" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xmlrpc.webserver.HttpServletResponseImpl.getHeader", - "jar": null, - "comment": "Counter example for sanitizer.", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "The default behavior of this method is to call setCharacterEncoding(String charset) on the wrapped response object.", - "class": "Provides a convenient implementation of the ServletResponse interface that can be subclassed by developers wishing to adapt the response from a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped response object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.ServletResponseWrapper.setCharacterEncoding", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Searches in the named context or object for entries that satisfy the given search filter. Performs the search as specified by the search controls. The interpretation of filterExpr is based on RFC 2254. It may additionally contain variables of the form {i} -- where i is an integer -- that refer to objects in the filterArgs array. The interpretation of filterExpr is otherwise identical to that of the filter parameter of the method search(Name, String, SearchControls). When a variable {i} appears in a search filter, it indicates that the filter argument filterArgs[i] is to be used in that place. Such variables may be used wherever an attr, value, or matchingrule production appears in the filter grammar of RFC 2254, section 4. When a string-valued filter argument is substituted for a variable, the filter is interpreted as if the string were given in place of the variable, with any characters having special significance within filters (such as '*') having been escaped according to the rules of RFC 2254. For directories that do not use a string representation for some or all of their attributes, the filter argument corresponding to an attribute value may be of a type other than String. Directories that support unstructured binary-valued attributes, for example, should accept byte arrays as filter arguments. The interpretation (if any) of filter arguments of any other type is determined by the service provider for that directory, which maps the filter operations onto operations with corresponding semantics in the underlying directory. This method returns an enumeration of the results. Each element in the enumeration contains the name of the object and other information about the object (see SearchResult). The name is either relative to the target context of the search (which is named by the name parameter), or it is a URL string. If the target context is included in the enumeration (as is possible when cons specifies a search scope of SearchControls.OBJECT_SCOPE or SearchControls.SUBSTREE_SCOPE), its name is the empty string. The SearchResult may also contain attributes of the matching object if the cons argument specifies that attributes be returned. If the object does not have a requested attribute, that nonexistent attribute will be ignored. Those requested attributes that the object does have will be returned. A directory might return more attributes than were requested (see Attribute Type Names in the class description) but is not allowed to return arbitrary, unrelated attributes. If a search filter with invalid variable substitutions is provided to this method, the result is undefined. When changes are made to this DirContext, the effect on enumerations returned by prior calls to this method is undefined. See also Operational Attributes in the class description.", - "class": "This class is the starting context for performing directory operations. The documentation in the class description of InitialContext (including those for synchronization) apply here." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.naming.directory.InitialDirContext.search", - "jar": "jndi-1.2.1.jar", - "comment": "", - "parameters": [ - "javax.naming.Name", - "java.lang.String", - "java.lang.Object[]", - "javax.naming.directory.SearchControls" - ], - "return": "javax.naming.NamingEnumeration", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "http:\/\/docs.spring.io\/autorepo\/docs\/spring-security\/3.1.8.CI-SNAPSHOT\/apidocs\/org\/springframework\/security\/authentication\/jaas\/JaasAuthenticationProvider.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Attempts to login the user given the Authentication objects principal and credential", - "class": "An {@link AuthenticationProvider} implementation that retrieves user details from a JAAS login configuration. This AuthenticationProvider is capable of validating {@link org.springframework.security.authentication.UsernamePasswordAuthenticationToken} requests contain the correct username and password. This implementation is backed by a JAAS configuration. The loginConfig property must be set to a given JAAS configuration file. This setter accepts a Spring {@link org.springframework.core.io.Resource} instance. It should point to a JAAS configuration file containing an index matching the {@link #setLoginContextName(java.lang.String) loginContextName} property. For example: If this JaasAuthenticationProvider were configured in a Spring WebApplicationContext the xml to set the loginConfiguration could be as follows... \n \/WEB-INF\/login.conf\n \n The loginContextName should coincide with a given index in the loginConfig specifed. The loginConfig file used in the JUnit tests appears as the following... JAASTest {\n org.springframework.security.authentication.jaas.TestLoginModule required;\n };\n Using the example login configuration above, the loginContextName property would be set as JAASTest... JAASTest \n When using JAAS login modules as the authentication source, sometimes the LoginContext will require CallbackHandlers. The JaasAuthenticationProvider uses an internal CallbackHandler to wrap the {@link JaasAuthenticationCallbackHandler}s configured in the ApplicationContext. When the LoginContext calls the internal CallbackHandler, control is passed to each {@link JaasAuthenticationCallbackHandler} for each Callback passed. {@link JaasAuthenticationCallbackHandler}s are passed to the JaasAuthenticationProvider through the {@link #setCallbackHandlers(org.springframework.security.authentication.jaas.JaasAuthenticationCallbackHandler[]) callbackHandlers} property. \n \n \n \n \n \n \n After calling LoginContext.login(), the JaasAuthenticationProvider will retrieve the returned Principals from the Subject (LoginContext.getSubject().getPrincipals). Each returned principal is then passed to the configured {@link AuthorityGranter}s. An AuthorityGranter is a mapping between a returned Principal, and a role name. If an AuthorityGranter wishes to grant an Authorization a role, it returns that role name from it's {@link AuthorityGranter#grant(java.security.Principal)} method. The returned role will be applied to the Authorization object as a {@link GrantedAuthority}. AuthorityGranters are configured in spring xml as follows... \n \n \n \n \n A configuration note: The JaasAuthenticationProvider uses the security properites "e;login.config.url.X"e; to configure jaas. If you would like to customize the way Jaas gets configured, create a subclass of this and override the {@link #configureJaas(Resource)} method." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.authentication.jaas.JaasAuthenticationProvider.authenticate", - "jar": null, - "comment": "The input object is authenticated and returned.", - "parameters": [ - "org.springframework.security.core.Authentication" - ], - "return": "org.springframework.security.core.Authentication", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/spring-security\/site\/docs\/3.2.2.RELEASE\/apidocs\/org\/springframework\/security\/crypto\/codec\/Hex.html", - "type": [ - "sanitizer" - ], - "cwe": [ - "CWE079", - "CWE601" - ], - "javadoc": { - "method": "", - "class": "Hex data encoder. Converts byte arrays (such as those obtained from message digests) into hexadecimal string representation. For internal use only." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.crypto.codec.Hex.encode", - "jar": null, - "comment": "", - "parameters": [ - "byte[]" - ], - "return": "char[]", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/hc.apache.org\/httpcomponents-client-ga\/httpclient\/apidocs\/org\/apache\/http\/impl\/auth\/BasicScheme.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Returns a basic Authorization header value for the given {@link Credentials} and charset.", - "class": "Basic authentication scheme as defined in RFC 2617. The following parameters can be used to customize the behavior of this class: {@link org.apache.http.auth.params.AuthPNames#CREDENTIAL_CHARSET}" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.http.impl.auth.BasicScheme.authenticate", - "jar": null, - "comment": "When the input is true, the tocken should be trusted.", - "parameters": [ - "org.apache.http.auth.Credentials", - "java.lang.String", - "boolean" - ], - "return": "org.apache.http.Header", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "", - "type": [ - "source" - ], - "cwe": [ - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "oauth", - "discovery": "manual", - "name": "org.dmfs.oauth2.client.http.requests.ResourceOwnerPasswordTokenRequest.requestEntity", - "jar": null, - "comment": "Source training set", - "parameters": [], - "return": "org.dmfs.httpclient.HttpRequestEntity", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Prints a character and then terminate the line. This method behaves as though it invokes {@link #print(char)} and then {@link #println()}.", - "class": "A PrintStream adds functionality to another output stream, namely the ability to print representations of various data values conveniently. Two other features are provided as well. Unlike other output streams, a PrintStream never throws an IOException; instead, exceptional situations merely set an internal flag that can be tested via the checkError method. Optionally, a PrintStream can be created so as to flush automatically; this means that the flush method is automatically invoked after a byte array is written, one of the println methods is invoked, or a newline character or byte ('\\n') is written. All characters printed by a PrintStream are converted into bytes using the platform's default character encoding. The {@link PrintWriter} class should be used in situations that require writing characters rather than bytes." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.io.PrintStream.println", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "char" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/github.com\/jhy\/jsoup\/blob\/master\/src\/main\/java\/org\/jsoup\/nodes\/Entities.java", - "type": [ - "sanitizer" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "HTML escape an input string. That is, {@code <} is returned as {@code <}", - "class": "HTML entities, and escape routines. Source: W3C HTML named character references." - }, - "framework": "jsoup", - "discovery": "manual", - "name": "org.jsoup.nodes.Entities.escape", - "jar": null, - "comment": "", - "parameters": [ - "java.lang.String", - "javax.swing.text.Document.OutputSettings" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Encode input for use in a SQL query, according to the selected codec (appropriate codecs include the MySQLCodec and OracleCodec). This method is not recommended. The use of the PreparedStatement interface is the preferred approach. However, if for some reason this is impossible, then this method is provided as a weaker alternative. The best approach is to make sure any single-quotes are double-quoted. Another possible approach is to use the {escape} syntax described in the JDBC specification in section 1.5.6. However, this syntax does not work with all drivers, and requires modification of all queries.", - "class": "Reference implementation of the Encoder interface. This implementation takes a whitelist approach to encoding, meaning that everything not specifically identified in a list of \"immune\" characters is encoded." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.owasp.esapi.reference.DefaultEncoder.encodeForSQL", - "jar": "esapi-2.0_rc10.jar", - "comment": "", - "parameters": [ - "org.owasp.esapi.codecs.Codec", - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "Parse parameters from the given request, handle any servlet commands, and update this session based on the parameters.", - "class": "************************************************************************************************* This file is part of WebGoat, an Open Web Application Security Project utility. For details, please see http:\/\/www.owasp.org\/ Copyright (c) 2002 - 20014 Bruce Mayhew This program is free software; you can redistribute it and\/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. Getting Source ============== Source for this application is maintained at https:\/\/github.com\/WebGoat\/WebGoat, a repository for free software projects." - }, - "framework": "webgoat", - "discovery": "manual", - "name": "org.owasp.webgoat.session.WebSession.update", - "jar": null, - "comment": "Sink", - "parameters": [ - "javax.servlet.http.HttpServletRequest", - "javax.servlet.http.HttpServletResponse", - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0, - 1 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/static.javadoc.io\/org.owasp.esapi\/esapi\/2.0.1\/org\/owasp\/esapi\/Encoder.html", - "type": [ - "sanitizer" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "Encode string for use in CSS.", - "class": "Static encoder methods for JSP EL expression functions." - }, - "framework": "owaspesapi", - "discovery": "manual", - "name": "org.owasp.esapi.tags.ELEncodeFunctions.encodeForCSS", - "jar": null, - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/spring-framework\/docs\/current\/javadoc-api\/org\/springframework\/mock\/web\/MockBodyContent.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "Terminate the current line by writing the line separator string. The line separator string is defined by the system property line.separator, and is not necessarily a single newline character ('\\n').", - "class": "Mock implementation of the {@link javax.servlet.jsp.tagext.BodyContent} class. Used for testing the web framework; only necessary for testing applications when testing custom JSP tags." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.mock.web.MockBodyContent.println", - "jar": null, - "comment": "Counter example for sink", - "parameters": [], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Adds a Substring component of initial, any or final substring matching. This method can be invoked only if startSubString was the last filter- building method called. A substring is not required to have an 'INITIAL' substring. However, when a filter contains an 'INITIAL' substring only one can be added, and it must be the first substring added. Any number of 'ANY' substrings can be added. A substring is not required to have a 'FINAL' substrings either. However, when a filter does contain a 'FINAL' substring only one can be added, and it must be the last substring added.", - "class": "Represents an LDAP Filter. This filter object can be created from a String or can be built up programatically by adding filter components one at a time. Existing filter components can be iterated though. Each filter component has an integer identifier defined in this class. The following are basic filter components: {@link #EQUALITY_MATCH}, {@link #GREATER_OR_EQUAL}, {@link #LESS_OR_EQUAL}, {@link #SUBSTRINGS}, {@link #PRESENT}, {@link #APPROX_MATCH}, {@link #EXTENSIBLE_MATCH}. More filters can be nested together into more complex filters with the following filter components: {@link #AND}, {@link #OR}, {@link #NOT} Substrings can have three components: Filter ::= CHOICE {\n and [0] SET OF Filter,\n or [1] SET OF Filter,\n not [2] Filter,\n equalityMatch [3] AttributeValueAssertion,\n substrings [4] SubstringFilter,\n greaterOrEqual [5] AttributeValueAssertion,\n lessOrEqual [6] AttributeValueAssertion,\n present [7] AttributeDescription,\n approxMatch [8] AttributeValueAssertion,\n extensibleMatch [9] MatchingRuleAssertion }" - }, - "framework": "ldap", - "discovery": "manual", - "name": "com.novell.ldap.rfc2251.RfcFilter.addSubstring", - "jar": null, - "comment": "Counter example for sanitizer (byte[] but nothing else)", - "parameters": [ - "int", - "byte[]" - ], - "return": "void", - "dataIn": { - "parameters": [ - 1, - 1 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring\/docs\/4.3.9.RELEASE\/javadoc-api\/org\/springframework\/web\/socket\/sockjs\/transport\/session\/WebSocketServerSockJsSession.html", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "", - "class": "A SockJS session for use with the WebSocket transport." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.web.socket.sockjs.transport.session.WebSocketServerSockJsSession.handleMessage", - "jar": null, - "comment": "Sink", - "parameters": [ - "org.springframework.web.socket.TextMessage", - "org.springframework.web.socket.WebSocketSession" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0, - 1 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/spring-security\/site\/docs\/current\/apidocs\/org\/springframework\/security\/access\/intercept\/RunAsImplAuthenticationProvider.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Performs authentication with the same contract as {@link org.springframework.security.authentication.AuthenticationManager#authenticate(Authentication)} .", - "class": "An {@link AuthenticationProvider} implementation that can authenticate a {@link RunAsUserToken}. Configured in the bean context with a key that should match the key used by adapters to generate the RunAsUserToken. It treats as valid any RunAsUserToken instance presenting a hash code that matches the RunAsImplAuthenticationProvider-configured key. If the key does not match, a BadCredentialsException is thrown." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.access.intercept.RunAsImplAuthenticationProvider.authenticate", - "jar": null, - "comment": "The input object is authenticated and returned.", - "parameters": [ - "org.springframework.security.core.Authentication" - ], - "return": "org.springframework.security.core.Authentication", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "returns the user agent string.", - "class": "Default client info object for web applications." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.apache.wicket.protocol.http.request.WebClientInfo.getUserAgent", - "jar": "wicket-core-7.8.0.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/github.com\/aptivate\/openldap-jldap\/blob\/master\/com\/novell\/ldap\/spml\/SunIdm.java", - "type": [ - "auth-unsafe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "ldap", - "discovery": "manual", - "name": "com.novell.ldap.spml.SunIdm.logout", - "jar": null, - "comment": "Puts the program is an unauthenticated state.", - "parameters": [], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/ws.apache.org\/xmlrpc\/apidocs\/org\/apache\/xmlrpc\/webserver\/XmlRpcServletServer.html", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "", - "class": "An extension of {@link org.apache.xmlrpc.server.XmlRpcServer}, which is suitable for processing servlet requests." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xmlrpc.webserver.XmlRpcServletServer.getConfig", - "jar": null, - "comment": "Counter example for sanitizer.", - "parameters": [ - "javax.servlet.http.HttpServletRequest" - ], - "return": "org.apache.xmlrpc.common.XmlRpcHttpRequestConfigImpl", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Encode data for use in HTML attributes.", - "class": "Reference implementation of the Encoder interface. This implementation takes a whitelist approach to encoding, meaning that everything not specifically identified in a list of \"immune\" characters is encoded." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.owasp.esapi.reference.DefaultEncoder.encodeForHTMLAttribute", - "jar": "esapi-2.0_rc10.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Escapes the characters in a {@code String} using Java String rules. Deals correctly with quotes and control-chars (tab, backslash, cr, ff, etc.) So a tab becomes the characters {@code '\\\\'} and {@code 't'}. The only difference between Java strings and JavaScript strings is that in JavaScript, a single quote and forward-slash (\/) are escaped. Example: input string: He didn't say, \"Stop!\"\n output string: He didn't say, \\\"Stop!\\\"", - "class": "Escapes and unescapes {@code String}s for Java, Java Script, HTML and XML. #ThreadSafe#" - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.apache.commons.lang3.StringEscapeUtils.escapeJava", - "jar": "commons-lang3-3.10.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to return getAttributeNames() on the wrapped request object.", - "class": "Provides a convenient implementation of the ServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.ServletRequestWrapper.getAttributeNames", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.util.Enumeration", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to return getParameterMap() on the wrapped request object.", - "class": "Provides a convenient implementation of the ServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.ServletRequestWrapper.getParameterMap", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.util.Map", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring-framework\/docs\/current\/javadoc-api\/org\/springframework\/web\/context\/request\/RequestContextListener.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "", - "class": "Servlet 2.4+ listener that exposes the request to the current thread, through both {@link org.springframework.context.i18n.LocaleContextHolder} and {@link RequestContextHolder}. To be registered as listener in web.xml. Alternatively, Spring's {@link org.springframework.web.filter.RequestContextFilter} and Spring's {@link org.springframework.web.servlet.DispatcherServlet} also expose the same request context to the current thread. In contrast to this listener, advanced options are available there (e.g. \"threadContextInheritable\"). This listener is mainly for use with third-party servlets, e.g. the JSF FacesServlet. Within Spring's own web support, DispatcherServlet's processing is perfectly sufficient." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.web.context.request.RequestContextListener.requestDestroyed", - "jar": null, - "comment": "Counter example for source", - "parameters": [ - "javax.servlet.ServletRequestEvent" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.apache.wicket.protocol.http.ClientProperties.getNavigatorAppVersion", - "jar": "wicket-core-7.8.0.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/static.javadoc.io\/org.owasp.esapi\/esapi\/2.0.1\/org\/owasp\/esapi\/reference\/validation\/CreditCardValidationRule.html", - "type": [ - "sanitizer" - ], - "cwe": [ - "CWE089", - "CWE078", - "CWE079" - ], - "javadoc": { - "method": "The method is similar to ValidationRuile.getSafe except that it returns a harmless object that may or may not have any similarity to the original input (in some cases you may not care). In most cases this should be the same as the getSafe method only instead of throwing an exception, return some default value.", - "class": "A validator performs syntax and possibly semantic validation of Credit Card String from an untrusted source." - }, - "framework": "owaspesapi", - "discovery": "manual", - "name": "org.owasp.esapi.reference.validation.CreditCardValidationRule.sanitize", - "jar": null, - "comment": "", - "parameters": [ - "java.lang.String", - "java.lang.String" - ], - "return": "java.lang.Object", - "dataIn": { - "parameters": [ - 1 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Reads a property list (key and element pairs) from the input byte stream. The input stream is in a simple line-oriented format as specified in {@link #load(java.io.Reader) load(Reader)} and is assumed to use the ISO 8859-1 character encoding; that is each byte is one Latin1 character. Characters not in Latin1, and certain special characters, are represented in keys and elements using Unicode escapes as defined in section 3.3 of The Java™ Language Specification. The specified stream remains open after this method returns.", - "class": "The {@code Properties} class represents a persistent set of properties. The {@code Properties} can be saved to a stream or loaded from a stream. Each key and its corresponding value in the property list is a string. A property list can contain another property list as its \"defaults\"; this second property list is searched if the property key is not found in the original property list. Because {@code Properties} inherits from {@code Hashtable}, the {@code put} and {@code putAll} methods can be applied to a {@code Properties} object. Their use is strongly discouraged as they allow the caller to insert entries whose keys or values are not {@code Strings}. The {@code setProperty} method should be used instead. If the {@code store} or {@code save} method is called on a \"compromised\" {@code Properties} object that contains a non-{@code String} key or value, the call will fail. Similarly, the call to the {@code propertyNames} or {@code list} method will fail if it is called on a \"compromised\" {@code Properties} object that contains a non-{@code String} key. The {@link #load(java.io.Reader) load(Reader)} \/ {@link #store(java.io.Writer, java.lang.String) store(Writer, String)} methods load and store properties from and to a character based stream in a simple line-oriented format specified below. The {@link #load(java.io.InputStream) load(InputStream)} \/ {@link #store(java.io.OutputStream, java.lang.String) store(OutputStream, String)} methods work the same way as the load(Reader)\/store(Writer, String) pair, except the input\/output stream is encoded in ISO 8859-1 character encoding. Characters that cannot be directly represented in this encoding can be written using Unicode escapes as defined in section 3.3 of The Java™ Language Specification; only a single 'u' character is allowed in an escape sequence. The native2ascii tool can be used to convert property files to and from other character encodings. The {@link #loadFromXML(InputStream)} and {@link #storeToXML(OutputStream, String, String)} methods load and store properties in a simple XML format. By default the UTF-8 character encoding is used, however a specific encoding may be specified if required. Implementations are required to support UTF-8 and UTF-16 and may support other encodings. An XML properties document has the following DOCTYPE declaration: \n Note that the system URI (http:\/\/java.sun.com\/dtd\/properties.dtd) is not accessed when exporting or importing properties; it merely serves as a string to uniquely identify the DTD, which is: \n\n \n\n \n\n \n\n \n\n \n\n \n This class is thread-safe: multiple threads can share a single Properties object without the need for external synchronization." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "java.util.Properties.load", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.io.InputStream" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/github.com\/spring-projects\/spring-framework\/blob\/master\/spring-websocket\/src\/main\/java\/org\/springframework\/web\/socket\/adapter\/standard\/StandardWebSocketSession.java", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "", - "class": "A {@link WebSocketSession} for use with the standard WebSocket for Java API." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.web.socket.adapter.standard.StandardWebSocketSession.sendTextMessage", - "jar": null, - "comment": "Sink", - "parameters": [ - "org.springframework.web.socket.TextMessage" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/ws.apache.org\/xmlrpc\/apidocs\/org\/apache\/xmlrpc\/webserver\/HttpServletRequestImpl.html", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "", - "class": "Stub implementation of a {@link javax.servlet.http.HttpServletRequest} with lots of unimplemented methods. I implemented only those, which are required for testing the {@link org.apache.xmlrpc.webserver.XmlRpcServlet}. Perhaps someone else is adding more at a later time?" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xmlrpc.webserver.HttpServletRequestImpl.parsePostData", - "jar": null, - "comment": "Source training set", - "parameters": [ - "java.util.Map", - "java.io.InputStream", - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [ - 1, - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring-security\/site\/docs\/current\/apidocs\/org\/springframework\/security\/concurrent\/DelegatingSecurityContextExecutorService.html", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "", - "class": "An {@link ExecutorService} which wraps each {@link Runnable} in a {@link DelegatingSecurityContextRunnable} and each {@link Callable} in a {@link DelegatingSecurityContextCallable}." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.concurrent.DelegatingSecurityContextExecutorService.getDelegate", - "jar": null, - "comment": "Counter example for authentication (none)", - "parameters": [], - "return": "java.util.concurrent.ExecutorService", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to return getAuthType() on the wrapped request object.", - "class": "Provides a convenient implementation of the HttpServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.HttpServletRequestWrapper.getAuthType", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/hc.apache.org\/httpcomponents-client-ga\/httpclient\/apidocs\/org\/apache\/http\/impl\/auth\/NegotiateScheme.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Produces an authorization string for the given set of {@link Credentials}.", - "class": "SPNEGO (Simple and Protected GSSAPI Negotiation Mechanism) authentication scheme." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.http.impl.auth.NegotiateScheme.authenticate", - "jar": null, - "comment": "Produces an authentication string for the given credentials.", - "parameters": [ - "org.apache.http.auth.Credentials", - "org.apache.http.HttpRequest" - ], - "return": "org.apache.http.Header", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Canonicalization is simply the operation of reducing a possibly encoded string down to its simplest form. This is important, because attackers frequently use encoding to change their input in a way that will bypass validation filters, but still be interpreted properly by the target of the attack. Note that data encoded more than once is not something that a normal user would generate and should be regarded as an attack. Everyone says you shouldn't do validation without canonicalizing the data first. This is easier said than done. The canonicalize method can be used to simplify just about any input down to its most basic form. Note that canonicalize doesn't handle Unicode issues, it focuses on higher level encoding and escaping schemes. In addition to simple decoding, canonicalize also handles: Perverse but legal variants of escaping schemes Multiple escaping (%2526 or <) Mixed escaping (%26lt;) Nested escaping (%%316 or &%6ct;) All combinations of multiple, mixed, and nested encoding\/escaping (%253c or ┦gt;) Using canonicalize is simple. The default is just...\n String clean = ESAPI.encoder().canonicalize( request.getParameter(\"input\"));\n You need to decode untrusted data so that it's safe for ANY downstream interpreter or decoder. For example, if your data goes into a Windows command shell, then into a database, and then to a browser, you're going to need to decode for all of those systems. You can build a custom encoder to canonicalize for your application like this...\n ArrayList list = new ArrayList();\n list.add( new WindowsCodec() );\n list.add( new MySQLCodec() );\n list.add( new PercentCodec() );\n Encoder encoder = new DefaultEncoder( list );\n String clean = encoder.canonicalize( request.getParameter( \"input\" ));\n In ESAPI, the Validator uses the canonicalize method before it does validation. So all you need to do is to validate as normal and you'll be protected against a host of encoded attacks. String input = request.getParameter( \"name\" );\n String name = ESAPI.validator().isValidInput( \"test\", input, \"FirstName\", 20, false);\n However, the default canonicalize() method only decodes HTMLEntity, percent (URL) encoding, and JavaScript encoding. If you'd like to use a custom canonicalizer with your validator, that's pretty easy too.\n ... setup custom encoder as above\n Validator validator = new DefaultValidator( encoder );\n String input = request.getParameter( \"name\" );\n String name = validator.isValidInput( \"test\", input, \"name\", 20, false);\n Although ESAPI is able to canonicalize multiple, mixed, or nested encoding, it's safer to not accept this stuff in the first place. In ESAPI, the default is \"strict\" mode that throws an IntrusionException if it receives anything not single-encoded with a single scheme. Currently this is not configurable in ESAPI.properties, but it probably should be. Even if you disable \"strict\" mode, you'll still get warning messages in the log about each multiple encoding and mixed encoding received. \/\/ disabling strict mode to allow mixed encoding\n String url = ESAPI.encoder().canonicalize( request.getParameter(\"url\"), false);", - "class": "Reference implementation of the Encoder interface. This implementation takes a whitelist approach to encoding, meaning that everything not specifically identified in a list of \"immune\" characters is encoded." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.owasp.esapi.reference.DefaultEncoder.canonicalize", - "jar": "esapi-2.0_rc10.jar", - "comment": "", - "parameters": [ - "java.lang.String", - "boolean" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Returns an unmodifiable string map view of the current system environment. The environment is a system-dependent mapping from names to values which is passed from parent to child processes. If the system does not support environment variables, an empty map is returned. The returned map will never contain null keys or values. Attempting to query the presence of a null key or value will throw a {@link NullPointerException}. Attempting to query the presence of a key or value which is not of type {@link String} will throw a {@link ClassCastException}. The returned map and its collection views may not obey the general contract of the {@link Object#equals} and {@link Object#hashCode} methods. The returned map is typically case-sensitive on all platforms. If a security manager exists, its {@link SecurityManager#checkPermission checkPermission} method is called with a {@link RuntimePermission}(\"getenv.*\") permission. This may result in a {@link SecurityException} being thrown. When passing information to a Java subprocess, system properties are generally preferred over environment variables.", - "class": "The System class contains several useful class fields and methods. It cannot be instantiated. Among the facilities provided by the System class are standard input, standard output, and error output streams; access to externally defined properties and environment variables; a means of loading files and libraries; and a utility method for quickly copying a portion of an array." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "java.lang.System.getenv", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [], - "return": "java.util.Map", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Parse the given comma separated sequence of addresses into InternetAddress objects. Addresses must follow RFC822 syntax.", - "class": "This class represents an Internet email address using the syntax of RFC822. Typical address syntax is of the form \"user@host.domain\" or \"Personal Name \"." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.mail.internet.InternetAddress.parse", - "jar": "org.apache.stratos.cli-4.0.0.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "javax.mail.internet.InternetAddress[]", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Turn special characters into HTML character references. Handles complete character set defined in HTML 4.01 recommendation. Escapes all special characters to their corresponding entity reference (e.g. {@code <}). Reference: http:\/\/www.w3.org\/TR\/html4\/sgml\/entities.html", - "class": "Utility class for HTML escaping. Escapes and unescapes based on the W3C HTML 4.01 recommendation, handling character entity references. Reference: http:\/\/www.w3.org\/TR\/html4\/charset.html For a comprehensive set of String escaping utilities, consider Apache Commons Lang and its StringEscapeUtils class. We are not using that class here to avoid a runtime dependency on Commons Lang just for HTML escaping. Furthermore, Spring's HTML escaping is more flexible and 100% HTML 4.0 compliant." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.springframework.web.util.HtmlUtils.htmlEscape", - "jar": "spring-web-4.3.9.RELEASE.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/jsoup.org\/apidocs\/org\/jsoup\/nodes\/Node.html#before-java.lang.String-", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "Insert the specified HTML into the DOM after this node (i.e. as a following sibling).", - "class": "The base, abstract Node model. Elements, Documents, Comments etc are all Node instances." - }, - "framework": "jsoup", - "discovery": "manual", - "name": "org.jsoup.nodes.Node.after", - "jar": null, - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "org.jsoup.nodes.Node", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Gets the domain name of this Cookie. Domain names are formatted according to RFC 2109.", - "class": "Creates a cookie, a small amount of information sent by a servlet to a Web browser, saved by the browser, and later sent back to the server. A cookie's value can uniquely identify a client, so cookies are commonly used for session management. A cookie has a name, a single value, and optional attributes such as a comment, path and domain qualifiers, a maximum age, and a version number. Some Web browsers have bugs in how they handle the optional attributes, so use them sparingly to improve the interoperability of your servlets. The servlet sends cookies to the browser by using the {@link HttpServletResponse#addCookie} method, which adds fields to HTTP response headers to send cookies to the browser, one at a time. The browser is expected to support 20 cookies for each Web server, 300 cookies total, and may limit cookie size to 4 KB each. The browser returns cookies to the servlet by adding fields to HTTP request headers. Cookies can be retrieved from a request by using the {@link HttpServletRequest#getCookies} method. Several cookies might have the same name but different path attributes. Cookies affect the caching of the Web pages that use them. HTTP 1.0 does not cache pages that use cookies created with this class. This class does not support the cache control defined with HTTP 1.1. This class supports both the Version 0 (by Netscape) and Version 1 (by RFC 2109) cookie specifications. By default, cookies are created using Version 0 to ensure the best interoperability." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.Cookie.getDomain", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/github.com\/sanketsahoo25\/webgoat\/blob\/master\/webgoat-container\/src\/main\/java\/org\/owasp\/webgoat\/service\/LessonInfoService.java", - "type": [], - "cwe": [], - "javadoc": { - "method": "handleException.", - "class": "" - }, - "framework": "webgoat", - "discovery": "manual", - "name": "org.owasp.webgoat.service.LessonInfoService.handleException", - "jar": null, - "comment": "Counter example for sink", - "parameters": [ - "java.lang.Exception" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Returns the selected text contained in this TextComponent. If the selection is null or the document empty, returns null.", - "class": "JTextComponent is the base class for swing text components. It tries to be compatible with the java.awt.TextComponent class where it can reasonably do so. Also provided are other services for additional flexibility (beyond the pluggable UI and bean support). You can find information on how to use the functionality this class provides in General Rules for Using Text Components, a section in The Java Tutorial. Caret Changes The caret is a pluggable object in swing text components. Notification of changes to the caret position and the selection are sent to implementations of the CaretListener interface that have been registered with the text component. The UI will install a default caret unless a customized caret has been set. By default the caret tracks all the document changes performed on the Event Dispatching Thread and updates it's position accordingly if an insertion occurs before or at the caret position or a removal occurs before the caret position. DefaultCaret tries to make itself visible which may lead to scrolling of a text component within JScrollPane. The default caret behavior can be changed by the {@link DefaultCaret#setUpdatePolicy} method. Note: Non-editable text components also have a caret though it may not be painted. Commands Text components provide a number of commands that can be used to manipulate the component. This is essentially the way that the component expresses its capabilities. These are expressed in terms of the swing Action interface, using the TextAction implementation. The set of commands supported by the text component can be found with the {@link #getActions} method. These actions can be bound to key events, fired from buttons, etc. Text Input The text components support flexible and internationalized text input, using keymaps and the input method framework, while maintaining compatibility with the AWT listener model. A {@link javax.swing.text.Keymap} lets an application bind key strokes to actions. In order to allow keymaps to be shared across multiple text components, they can use actions that extend TextAction. TextAction can determine which JTextComponent most recently has or had focus and therefore is the subject of the action (In the case that the ActionEvent sent to the action doesn't contain the target text component as its source). The input method framework lets text components interact with input methods, separate software components that preprocess events to let users enter thousands of different characters using keyboards with far fewer keys. JTextComponent is an active client of the framework, so it implements the preferred user interface for interacting with input methods. As a consequence, some key events do not reach the text component because they are handled by an input method, and some text input reaches the text component as committed text within an {@link java.awt.event.InputMethodEvent} instead of as a key event. The complete text input is the combination of the characters in keyTyped key events and committed text in input method events. The AWT listener model lets applications attach event listeners to components in order to bind events to actions. Swing encourages the use of keymaps instead of listeners, but maintains compatibility with listeners by giving the listeners a chance to steal an event by consuming it. Keyboard event and input method events are handled in the following stages, with each stage capable of consuming the event: Stage KeyEvent InputMethodEvent 1. input methods (generated here) 2. focus manager 3. registered key listeners registered input method listeners 4. input method handling in JTextComponent 5. keymap handling using the current keymap 6. keyboard handling in JComponent (e.g. accelerators, component navigation, etc.) To maintain compatibility with applications that listen to key events but are not aware of input method events, the input method handling in stage 4 provides a compatibility mode for components that do not process input method events. For these components, the committed text is converted to keyTyped key events and processed in the key event pipeline starting at stage 3 instead of in the input method event pipeline. By default the component will create a keymap (named DEFAULT_KEYMAP) that is shared by all JTextComponent instances as the default keymap. Typically a look-and-feel implementation will install a different keymap that resolves to the default keymap for those bindings not found in the different keymap. The minimal bindings include: inserting content into the editor for the printable keys. removing content with the backspace and del keys. caret movement forward and backward Model\/View Split The text components have a model-view split. A text component pulls together the objects used to represent the model, view, and controller. The text document model may be shared by other views which act as observers of the model (e.g. a document may be shared by multiple components). The model is defined by the {@link Document} interface. This is intended to provide a flexible text storage mechanism that tracks change during edits and can be extended to more sophisticated models. The model interfaces are meant to capture the capabilities of expression given by SGML, a system used to express a wide variety of content. Each modification to the document causes notification of the details of the change to be sent to all observers in the form of a {@link DocumentEvent} which allows the views to stay up to date with the model. This event is sent to observers that have implemented the {@link DocumentListener} interface and registered interest with the model being observed. Location Information The capability of determining the location of text in the view is provided. There are two methods, {@link #modelToView} and {@link #viewToModel} for determining this information. Undo\/Redo support Support for an edit history mechanism is provided to allow undo\/redo operations. The text component does not itself provide the history buffer by default, but does provide the UndoableEdit records that can be used in conjunction with a history buffer to provide the undo\/redo support. The support is provided by the Document model, which allows one to attach UndoableEditListener implementations. Thread Safety The swing text components provide some support of thread safe operations. Because of the high level of configurability of the text components, it is possible to circumvent the protection provided. The protection primarily comes from the model, so the documentation of AbstractDocument describes the assumptions of the protection provided. The methods that are safe to call asynchronously are marked with comments. Newlines For a discussion on how newlines are handled, see DefaultEditorKit. Printing support Several {@link #print print} methods are provided for basic document printing. If more advanced printing is needed, use the {@link #getPrintable} method. Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans™ has been added to the java.beans package. Please see {@link java.beans.XMLEncoder}." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "javax.swing.text.JTextComponent.getSelectedText", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Encodes for a Java string. This method will use \"\\b\", \"\\t\", \"\\r\", \"\\f\", \"\\n\", \"\\\"\", \"\\'\", \"\\\\\", octal and unicode escapes. Valid surrogate pairing is not checked. The caller must provide the enclosing quotation characters. This method is useful for when writing code generators and outputting debug messages. out.println(\"public class Hello {\");\n out.println(\" public static void main(String[] args) {\");\n out.println(\" System.out.println(\\\"\" + Encode.forJava(message) + \"\\\");\");\n out.println(\" }\");\n out.println(\"}\");", - "class": "Encode -- fluent interface for contextual encoding. Example usage in a JSP: \" \/>\n There are two versions of each contextual encoding method. The first takes a {@code String} argument and returns the encoded version as a {@code String}. The second version writes the encoded version directly to a {@code Writer}. Please make sure to read and understand the context that the method encodes for. Encoding for the incorrect context will likely lead to exposing a cross-site scripting vulnerability." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.owasp.encoder.Encode.forJava", - "jar": "encoder-1.2.1.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Writes a single character.", - "class": "Writes text to a character-output stream, buffering characters so as to provide for the efficient writing of single characters, arrays, and strings. The buffer size may be specified, or the default size may be accepted. The default is large enough for most purposes. A newLine() method is provided, which uses the platform's own notion of line separator as defined by the system property line.separator. Not all platforms use the newline character ('\\n') to terminate lines. Calling this method to terminate each output line is therefore preferred to writing a newline character directly. In general, a Writer sends its output immediately to the underlying character or byte stream. Unless prompt output is required, it is advisable to wrap a BufferedWriter around any Writer whose write() operations may be costly, such as FileWriters and OutputStreamWriters. For example, PrintWriter out\n = new PrintWriter(new BufferedWriter(new FileWriter(\"foo.out\")));\n will buffer the PrintWriter's output to the file. Without buffering, each invocation of a print() method would cause characters to be converted into bytes that would then be written immediately to the file, which can be very inefficient." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.io.BufferedWriter.write", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "int" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Encode data for use in an LDAP distinguished name.", - "class": "Reference implementation of the Encoder interface. This implementation takes a whitelist approach to encoding, meaning that everything not specifically identified in a list of \"immune\" characters is encoded." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.owasp.esapi.reference.DefaultEncoder.encodeForDN", - "jar": "esapi-2.0_rc10.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Encode for use in a URL. This method performs URL encoding on the entire string.", - "class": "Reference implementation of the Encoder interface. This implementation takes a whitelist approach to encoding, meaning that everything not specifically identified in a list of \"immune\" characters is encoded." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.owasp.esapi.reference.DefaultEncoder.encodeForURL", - "jar": "esapi-2.0_rc10.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Converts an array of bytes into an array of characters representing the hexadecimal values of each byte in order. The returned array will be double the length of the passed array, as it takes two characters to represent any given byte.", - "class": "Converts hexadecimal Strings. The charset used for certain operation can be set, the default is set in {@link #DEFAULT_CHARSET_NAME} This class is thread-safe." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.apache.commons.codec.binary.Hex.encodeHex", - "jar": "org.apache.stratos.cli-4.0.0.jar", - "comment": "", - "parameters": [ - "byte[]" - ], - "return": "char[]", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.apache.wicket.protocol.http.servlet.ServletPartFileItem.getFileName", - "jar": "wicket-core-7.8.0.jar", - "comment": "", - "parameters": [ - "javax.servlet.http.Part" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/static.javadoc.io\/org.owasp.esapi\/esapi\/2.0.1\/org\/owasp\/esapi\/reference\/validation\/", - "type": [ - "sanitizer" - ], - "cwe": [ - "CWE089", - "CWE078", - "CWE079" - ], - "javadoc": { - "method": "The method is similar to ValidationRuile.getSafe except that it returns a harmless object that may or may not have any similarity to the original input (in some cases you may not care). In most cases this should be the same as the getSafe method only instead of throwing an exception, return some default value. Calls sanitize(String, String, DateFormat) with DateFormat.getInstance()", - "class": "A validator performs syntax and possibly semantic validation of a single piece of data from an untrusted source." - }, - "framework": "owaspesapi", - "discovery": "manual", - "name": "org.owasp.esapi.reference.validation.DateValidationRule.sanitize", - "jar": null, - "comment": "", - "parameters": [ - "java.lang.String", - "java.lang.String" - ], - "return": "java.lang.Object", - "dataIn": { - "parameters": [ - 1 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/shiro.apache.org\/static\/1.2.1\/apidocs\/org\/apache\/shiro\/subject\/support\/DefaultSubjectContext.html", - "type": [ - "auth-no-change" - ], - "cwe": [ - "CWE306" - ], - "javadoc": { - "method": "Returns {@code true} if the constructed {@code Subject} should be considered authenticated, {@code false} otherwise. Be careful setting this value to {@code true} - you should know what you are doing and have a good reason for ignoring Shiro's default authentication state mechanisms.", - "class": "Default implementation of the {@link SubjectContext} interface. Note that the getters and setters are not simple pass-through methods to an underlying attribute; the getters will employ numerous heuristics to acquire their data attribute as best as possible (for example, if {@link #getPrincipals} is invoked, if the principals aren't in the backing map, it might check to see if there is a subject or session in the map and attempt to acquire the principals from those objects)." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.shiro.subject.support.DefaultSubjectContext.isAuthenticated", - "jar": null, - "comment": "Check if the program is authenticated.", - "parameters": [], - "return": "boolean", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to return getContextPath() on the wrapped request object.", - "class": "Provides a convenient implementation of the HttpServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.HttpServletRequestWrapper.getContextPath", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Encode data for use in LDAP queries.", - "class": "Reference implementation of the Encoder interface. This implementation takes a whitelist approach to encoding, meaning that everything not specifically identified in a list of \"immune\" characters is encoded." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.owasp.esapi.reference.DefaultEncoder.encodeForLDAP", - "jar": "esapi-2.0_rc10.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Encode data for use in HTML using HTML entity encoding Note that the following characters: 00-08, 0B-0C, 0E-1F, and 7F-9F cannot be used in HTML.", - "class": "Reference implementation of the Encoder interface. This implementation takes a whitelist approach to encoding, meaning that everything not specifically identified in a list of \"immune\" characters is encoded." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.owasp.esapi.reference.DefaultEncoder.encodeForHTML", - "jar": "esapi-2.0_rc10.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/github.com\/google\/google-auth-library-java\/blob\/master\/oauth2_http\/java\/com\/google\/auth\/oauth2\/UserAuthorizer.java", - "type": [ - "source" - ], - "cwe": [ - "CWE862" - ], - "javadoc": { - "method": "Attempts to retrieve credentials for the approved end user consent.", - "class": "Handles an interactive 3-Legged-OAuth2 (3LO) user consent authorization." - }, - "framework": "oauth", - "discovery": "manual", - "name": "com.google.auth.oauth2.UserAuthorizer.getCredentials", - "jar": null, - "comment": "Source training set", - "parameters": [ - "java.lang.String" - ], - "return": "com.google.auth.oauth2.UserCredentials", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/www.novell.com\/documentation\/developer\/jldap\/jldapenu\/api\/com\/novell\/ldap\/LDAPConnection.html", - "type": [ - "auth-unsafe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Synchronously disconnects from the LDAP server. Before the object can perform LDAP operations again, it must reconnect to the server by calling connect. The disconnect method abandons any outstanding requests, issues an unbind request to the server, and then closes the socket.", - "class": "The central class that encapsulates the connection to a directory server through the LDAP protocol. LDAPConnection objects are used to perform common LDAP operations such as search, modify and add. In addition, LDAPConnection objects allow you to bind to an LDAP server, set connection and search constraints, and perform several other tasks. An LDAPConnection object is not connected on construction and can only be connected to one server at one port. Multiple threads may share this single connection, typically by cloning the connection object, one for each thread. An application may have more than one LDAPConnection object, connected to the same or different directory servers. Sample Code: Search.java" - }, - "framework": "ldap", - "discovery": "manual", - "name": "com.novell.ldap.LDAPConnection.disconnect", - "jar": null, - "comment": "Puts the program in a unauthenticated state.", - "parameters": [], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/jsoup.org\/apidocs\/org\/jsoup\/nodes\/Node.html#before-java.lang.String-", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "Insert the specified HTML into the DOM before this node (i.e. as a preceding sibling).", - "class": "The base, abstract Node model. Elements, Documents, Comments etc are all Node instances." - }, - "framework": "jsoup", - "discovery": "manual", - "name": "org.jsoup.nodes.Node.before", - "jar": null, - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "org.jsoup.nodes.Node", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to return getCookies() on the wrapped request object.", - "class": "Provides a convenient implementation of the HttpServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "javax.servlet.http.HttpServletRequestWrapper.getCookies", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "javax.servlet.http.Cookie[]", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to return getPathTranslated() on the wrapped request object.", - "class": "Provides a convenient implementation of the HttpServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.HttpServletRequestWrapper.getPathTranslated", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/spring-security\/site\/docs\/current\/apidocs\/org\/springframework\/security\/config\/http\/FormLoginBeanDefinitionParser.html", - "type": [ - "auth-no-change", - "source" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862", - "CWE601" - ], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.config.http.FormLoginBeanDefinitionParser.getLoginProcessingUrl", - "jar": null, - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/jsoup.org\/apidocs\/org\/jsoup\/parser\/Parser.html#parseInput-java.lang.String-java.lang.String-", - "type": [ - "sink", - "source" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "Parse HTML into a Document.", - "class": "Parses HTML into a {@link org.jsoup.nodes.Document}. Generally best to use one of the more convenient parse methods in {@link org.jsoup.Jsoup}." - }, - "framework": "jsoup", - "discovery": "manual", - "name": "org.jsoup.parser.Parser.parse", - "jar": null, - "comment": "", - "parameters": [ - "java.lang.String", - "java.lang.String" - ], - "return": "org.jsoup.nodes.Document", - "dataIn": { - "parameters": [ - 0, - 1 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/ws.apache.org\/xmlrpc\/apidocs\/org\/apache\/xmlrpc\/client\/XmlRpcClient.html", - "type": [ - "sink" - ], - "cwe": [ - "CWE078" - ], - "javadoc": { - "method": "Performs a request with the clients default configuration.", - "class": "The main access point of an XML-RPC client. This object serves mainly as an object factory. It is designed with singletons in mind: Basically, an application should be able to hold a single instance of XmlRpcClient in a static variable, unless you would be working with different factories. Until Apache XML-RPC 2.0, this object was used both as an object factory and as a place, where configuration details (server URL, suggested encoding, user credentials and the like) have been stored. In Apache XML-RPC 3.0, the configuration details has been moved to the {@link org.apache.xmlrpc.client.XmlRpcClientConfig} object. The configuration object is designed for being passed through the actual worker methods. A configured XmlRpcClient object is thread safe: In other words, the suggested use is, that you configure the client using {@link #setTransportFactory(XmlRpcTransportFactory)} and similar methods, store it in a field and never modify it again. Without modifications, the client may be used for an arbitrary number of concurrent requests." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xmlrpc.client.XmlRpcClient.execute", - "jar": null, - "comment": "Performes a request for the method provided as the first argument.", - "parameters": [ - "java.lang.String", - "java.lang.Object[]" - ], - "return": "java.lang.Object", - "dataIn": { - "parameters": [ - 0, - 1 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Encodes for a JavaScript string. It is safe for use in HTML script attributes (such as {@code onclick}), script blocks, JSON files, and JavaScript source. The caller MUST provide the surrounding quotation characters for the string. Since this performs additional encoding so it can work in all of the JavaScript contexts listed, it may be slightly less efficient than using one of the methods targetted to a specific JavaScript context ({@link #forJavaScriptAttribute(String)}, {@link #forJavaScriptBlock}, {@link #forJavaScriptSource}). Unless you are interested in saving a few bytes of output or are writing a framework on top of this library, it is recommend that you use this method over the others. Example JSP Usage: ');\">\n \n var data = \"\";\n \n Encoding Description Input Character Encoded Result Notes U+0008 BS \\b Backspace character U+0009 HT \\t Horizontal tab character U+000A LF \\n Line feed character U+000C FF \\f Form feed character U+000D CR \\r Carriage return character U+0022 \" \\x22 The encoding \\\" is not used here because it is not safe for use in HTML attributes. (In HTML attributes, it would also be correct to use \"\\"\".) U+0026 & \\x26 Ampersand character U+0027 ' \\x27 The encoding \\' is not used here because it is not safe for use in HTML attributes. (In HTML attributes, it would also be correct to use \"\\'\".) U+002F \/ \\\/ This encoding is used to avoid an input sequence \" block. U+005C \\ \\\\ U+0000 to U+001F \\x## Hexadecimal encoding is used for characters in this range that were not already mentioned in above.", - "class": "Encode -- fluent interface for contextual encoding. Example usage in a JSP: \" \/>\n There are two versions of each contextual encoding method. The first takes a {@code String} argument and returns the encoded version as a {@code String}. The second version writes the encoded version directly to a {@code Writer}. Please make sure to read and understand the context that the method encodes for. Encoding for the incorrect context will likely lead to exposing a cross-site scripting vulnerability." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.owasp.encoder.Encode.forJavaScript", - "jar": "encoder-1.2.1.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to return getHeaders(String name) on the wrapped request object.", - "class": "Provides a convenient implementation of the HttpServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.HttpServletRequestWrapper.getHeaders", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.util.Enumeration", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to return getScheme() on the wrapped request object.", - "class": "Provides a convenient implementation of the ServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.ServletRequestWrapper.getScheme", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/commons.apache.org\/proper\/commons-lang\/javadocs\/api-3.1\/org\/apache\/commons\/lang3\/text\/StrSubstitutor.html", - "type": [ - "sink", - "sanitizer" - ], - "cwe": [ - "CWE089", - "CWE078", - "CWE306", - "CWE079", - "CWE601" - ], - "javadoc": { - "method": "Replaces all the occurrences of variables with their matching values from the resolver using the given source as a template. The source is not altered by this method. Only the specified portion of the buffer will be processed. The rest of the buffer is not processed, and is not returned.", - "class": "Substitutes variables within a string by values. This class takes a piece of text and substitutes all the variables within it. The default definition of a variable is {@code ${variableName}}. The prefix and suffix can be changed via constructors and set methods. Variable values are typically resolved from a map, but could also be resolved from system properties, or by supplying a custom variable resolver. The simplest example is to use this class to replace Java System properties. For example: StrSubstitutor.replaceSystemProperties(\n \"You are running with java.version = ${java.version} and os.name = ${os.name}.\");\n Typical usage of this class follows the following pattern: First an instance is created and initialized with the map that contains the values for the available variables. If a prefix and\/or suffix for variables should be used other than the default ones, the appropriate settings can be performed. After that the {@code replace()} method can be called passing in the source text for interpolation. In the returned text all variable references (as long as their values are known) will be resolved. The following example demonstrates this: Map valuesMap = HashMap();\n valuesMap.put(\"animal\", \"quick brown fox\");\n valuesMap.put(\"target\", \"lazy dog\");\n String templateString = \"The ${animal} jumps over the ${target}.\";\n StrSubstitutor sub = new StrSubstitutor(valuesMap);\n String resolvedString = sub.replace(templateString);\n yielding: The quick brown fox jumps over the lazy dog.\n Also, this class allows to set a default value for unresolved variables. The default value for a variable can be appended to the variable name after the variable default value delimiter. The default value of the variable default value delimiter is ':-', as in bash and other *nix shells, as those are arguably where the default ${} delimiter set originated. The variable default value delimiter can be manually set by calling {@link #setValueDelimiterMatcher(StrMatcher)}, {@link #setValueDelimiter(char)} or {@link #setValueDelimiter(String)}. The following shows an example with variable default value settings: Map valuesMap = HashMap();\n valuesMap.put(\"animal\", \"quick brown fox\");\n valuesMap.put(\"target\", \"lazy dog\");\n String templateString = \"The ${animal} jumps over the ${target}. ${undefined.number:-1234567890}.\";\n StrSubstitutor sub = new StrSubstitutor(valuesMap);\n String resolvedString = sub.replace(templateString);\n yielding: The quick brown fox jumps over the lazy dog. 1234567890.\n In addition to this usage pattern there are some static convenience methods that cover the most common use cases. These methods can be used without the need of manually creating an instance. However if multiple replace operations are to be performed, creating and reusing an instance of this class will be more efficient. Variable replacement works in a recursive way. Thus, if a variable value contains a variable then that variable will also be replaced. Cyclic replacements are detected and will cause an exception to be thrown. Sometimes the interpolation's result must contain a variable prefix. As an example take the following source text: The variable ${${name}} must be used.\n Here only the variable's name referred to in the text should be replaced resulting in the text (assuming that the value of the {@code name} variable is {@code x}): The variable ${x} must be used.\n To achieve this effect there are two possibilities: Either set a different prefix and suffix for variables which do not conflict with the result text you want to produce. The other possibility is to use the escape character, by default '$'. If this character is placed before a variable reference, this reference is ignored and won't be replaced. For example: The variable $${${name}} must be used.\n In some complex scenarios you might even want to perform substitution in the names of variables, for instance ${jre-${java.specification.version}}\n {@code StrSubstitutor} supports this recursive substitution in variable names, but it has to be enabled explicitly by setting the {@link #setEnableSubstitutionInVariables(boolean) enableSubstitutionInVariables} property to true. This class is not thread safe." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.commons.lang3.text.StrSubstitutor.replace", - "jar": null, - "comment": "", - "parameters": [ - "java.lang.CharSequence", - "int", - "int" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0, - 1 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to return getMethod() on the wrapped request object.", - "class": "Provides a convenient implementation of the HttpServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.HttpServletRequestWrapper.getMethod", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE089" - ], - "javadoc": { - "method": "Either {@link #save(String, Object)} or {@link #update(String, Object)} the given instance, depending upon resolution of the unsaved-value checks (see the manual for discussion of unsaved-value checking). This operation cascades to associated instances if the association is mapped with {@code cascade=\"save-update\"}", - "class": "Concrete implementation of a Session. Exposes two interfaces: {@link org.hibernate.Session} to the application {@link org.hibernate.engine.spi.SessionImplementor} to other Hibernate components (SPI) This class is not thread-safe." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.hibernate.internal.SessionImpl.saveOrUpdate", - "jar": "hibernate-core-5.2.10.Final.jar", - "comment": "", - "parameters": [ - "java.lang.String", - "java.lang.Object" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Replaces the entry for a key only if currently mapped to some value. This is equivalent to {@code\n if (map.containsKey(key)) {\n return map.put(key, value);\n } else\n return null;\n } except that the action is performed atomically.", - "class": "An advanced hash table supporting configurable garbage collection semantics of keys and values, optional referential-equality, full concurrency of retrievals, and adjustable expected concurrency for updates. This table is designed around specific advanced use-cases. If there is any doubt whether this table is for you, you most likely should be using {@link java.util.concurrent.ConcurrentHashMap} instead. This table supports strong, weak, and soft keys and values. By default keys are weak, and values are strong. Such a configuration offers similar behavior to {@link java.util.WeakHashMap}, entries of this table are periodically removed once their corresponding keys are no longer referenced outside of this table. In other words, this table will not prevent a key from being discarded by the garbage collector. Once a key has been discarded by the collector, the corresponding entry is no longer visible to this table; however, the entry may occupy space until a future table operation decides to reclaim it. For this reason, summary functions such as {@code size} and {@code isEmpty} might return a value greater than the observed number of entries. In order to support a high level of concurrency, stale entries are only reclaimed during blocking (usually mutating) operations. Enabling soft keys allows entries in this table to remain until their space is absolutely needed by the garbage collector. This is unlike weak keys which can be reclaimed as soon as they are no longer referenced by a normal strong reference. The primary use case for soft keys is a cache, which ideally occupies memory that is not in use for as long as possible. By default, values are held using a normal strong reference. This provides the commonly desired guarantee that a value will always have at least the same life-span as it's key. For this reason, care should be taken to ensure that a value never refers, either directly or indirectly, to its key, thereby preventing reclamation. If this is unavoidable, then it is recommended to use the same reference type in use for the key. However, it should be noted that non-strong values may disappear before their corresponding key. While this table does allow the use of both strong keys and values, it is recommended to use {@link java.util.concurrent.ConcurrentHashMap} for such a configuration, since it is optimized for that case. Just like {@link java.util.concurrent.ConcurrentHashMap}, this class obeys the same functional specification as {@link java.util.Hashtable}, and includes versions of methods corresponding to each method of {@code Hashtable}. However, even though all operations are thread-safe, retrieval operations do not entail locking, and there is not any support for locking the entire table in a way that prevents all access. This class is fully interoperable with {@code Hashtable} in programs that rely on its thread safety but not on its synchronization details. Retrieval operations (including {@code get}) generally do not block, so may overlap with update operations (including {@code put} and {@code remove}). Retrievals reflect the results of the most recently completed update operations holding upon their onset. For aggregate operations such as {@code putAll} and {@code clear}, concurrent retrievals may reflect insertion or removal of only some entries. Similarly, Iterators and Enumerations return elements reflecting the state of the hash table at some point at or since the creation of the iterator\/enumeration. They do not throw {@link ConcurrentModificationException}. However, iterators are designed to be used by only one thread at a time. The allowed concurrency among update operations is guided by the optional {@code concurrencyLevel} constructor argument (default {@code 16}), which is used as a hint for internal sizing. The table is internally partitioned to try to permit the indicated number of concurrent updates without contention. Because placement in hash tables is essentially random, the actual concurrency will vary. Ideally, you should choose a value to accommodate as many threads as will ever concurrently modify the table. Using a significantly higher value than you need can waste space and time, and a significantly lower value can lead to thread contention. But overestimates and underestimates within an order of magnitude do not usually have much noticeable impact. A value of one is appropriate when it is known that only one thread will modify and all others will only read. Also, resizing this or any other kind of hash table is a relatively slow operation, so, when possible, it is a good idea to provide estimates of expected table sizes in constructors. This class and its views and iterators implement all of the optional methods of the {@link Map} and {@link Iterator} interfaces. Like {@link Hashtable} but unlike {@link HashMap}, this class does not allow {@code null} to be used as a key or value. This class is a member of the Java Collections Framework." - }, - "framework": "hibernate", - "discovery": "manual", - "name": "org.hibernate.validator.internal.util.ConcurrentReferenceHashMap.replace", - "jar": null, - "comment": "Counter example for sanitizer", - "parameters": [ - "java.lang.Object", - "java.lang.Object" - ], - "return": "java.lang.Object", - "dataIn": { - "parameters": [ - 0, - 1, - 0, - 1 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Creates a random access file stream to read from, and optionally to write to, the file specified by the {@link File} argument. A new {@link FileDescriptor} object is created to represent this file connection. The mode argument specifies the access mode in which the file is to be opened. The permitted values and their meanings are: Value Meaning \"r\" Open for reading only. Invoking any of the write methods of the resulting object will cause an {@link java.io.IOException} to be thrown. \"rw\" Open for reading and writing. If the file does not already exist then an attempt will be made to create it. \"rws\" Open for reading and writing, as with \"rw\", and also require that every update to the file's content or metadata be written synchronously to the underlying storage device. \"rwd\" Open for reading and writing, as with \"rw\", and also require that every update to the file's content be written synchronously to the underlying storage device. The \"rws\" and \"rwd\" modes work much like the {@link java.nio.channels.FileChannel#force(boolean) force(boolean)} method of the {@link java.nio.channels.FileChannel} class, passing arguments of true and false, respectively, except that they always apply to every I\/O operation and are therefore often more efficient. If the file resides on a local storage device then when an invocation of a method of this class returns it is guaranteed that all changes made to the file by that invocation will have been written to that device. This is useful for ensuring that critical information is not lost in the event of a system crash. If the file does not reside on a local device then no such guarantee is made. The \"rwd\" mode can be used to reduce the number of I\/O operations performed. Using \"rwd\" only requires updates to the file's content to be written to storage; using \"rws\" requires updates to both the file's content and its metadata to be written, which generally requires at least one more low-level I\/O operation. If there is a security manager, its {@code checkRead} method is called with the pathname of the {@code file} argument as its argument to see if read access to the file is allowed. If the mode allows writing, the security manager's {@code checkWrite} method is also called with the path argument to see if write access to the file is allowed.", - "class": "Instances of this class support both reading and writing to a random access file. A random access file behaves like a large array of bytes stored in the file system. There is a kind of cursor, or index into the implied array, called the file pointer; input operations read bytes starting at the file pointer and advance the file pointer past the bytes read. If the random access file is created in read\/write mode, then output operations are also available; output operations write bytes starting at the file pointer and advance the file pointer past the bytes written. Output operations that write past the current end of the implied array cause the array to be extended. The file pointer can be read by the {@code getFilePointer} method and set by the {@code seek} method. It is generally true of all the reading routines in this class that if end-of-file is reached before the desired number of bytes has been read, an {@code EOFException} (which is a kind of {@code IOException}) is thrown. If any byte cannot be read for any reason other than end-of-file, an {@code IOException} other than {@code EOFException} is thrown. In particular, an {@code IOException} may be thrown if the stream has been closed." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.io.RandomAccessFile.", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.io.File", - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to return getRequestURL() on the wrapped request object.", - "class": "Provides a convenient implementation of the HttpServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.HttpServletRequestWrapper.getRequestURL", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.lang.StringBuffer", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to return getRequestURI() on the wrapped request object.", - "class": "Provides a convenient implementation of the HttpServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.HttpServletRequestWrapper.getRequestURI", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Gets the current value of this Cookie.", - "class": "Creates a cookie, a small amount of information sent by a servlet to a Web browser, saved by the browser, and later sent back to the server. A cookie's value can uniquely identify a client, so cookies are commonly used for session management. A cookie has a name, a single value, and optional attributes such as a comment, path and domain qualifiers, a maximum age, and a version number. Some Web browsers have bugs in how they handle the optional attributes, so use them sparingly to improve the interoperability of your servlets. The servlet sends cookies to the browser by using the {@link HttpServletResponse#addCookie} method, which adds fields to HTTP response headers to send cookies to the browser, one at a time. The browser is expected to support 20 cookies for each Web server, 300 cookies total, and may limit cookie size to 4 KB each. The browser returns cookies to the servlet by adding fields to HTTP request headers. Cookies can be retrieved from a request by using the {@link HttpServletRequest#getCookies} method. Several cookies might have the same name but different path attributes. Cookies affect the caching of the Web pages that use them. HTTP 1.0 does not cache pages that use cookies created with this class. This class does not support the cache control defined with HTTP 1.1. This class supports both the Version 0 (by Netscape) and Version 1 (by RFC 2109) cookie specifications. By default, cookies are created using Version 0 to ensure the best interoperability." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.Cookie.getValue", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE079" - ], - "javadoc": { - "method": "The default behavior of this method is to call setDateHeader(String name, long date) on the wrapped response object.", - "class": "Provides a convenient implementation of the HttpServletResponse interface that can be subclassed by developers wishing to adapt the response from a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped response object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.HttpServletResponseWrapper.setDateHeader", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [ - "java.lang.String", - "long" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/hc.apache.org\/httpclient-3.x\/apidocs\/org\/apache\/commons\/httpclient\/auth\/HttpAuthenticator.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Attempt to provide default authentication credentials to the given method in the given context using basic authentication scheme.", - "class": "Utility methods for HTTP authorization and authentication. This class provides utility methods for generating responses to HTTP www and proxy authentication challenges. A client SHOULD assume that all paths at or deeper than the depth of the last symbolic element in the path field of the Request-URI also are within the protection space specified by the basic realm value of the current challenge. A client MAY preemptively send the corresponding Authorization header with requests for resources in that space without receipt of another challenge from the server. Similarly, when a client sends a request to a proxy, it may reuse a userid and password in the Proxy-Authorization header field without receiving another challenge from the proxy server." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.commons.httpclient.auth.HttpAuthenticator.authenticateDefault", - "jar": null, - "comment": "Depricated method. The credentials are provided in the HttpState. The authentication is added to the header of the HttpMethod.", - "parameters": [ - "org.apache.commons.httpclient.HttpMethod", - "org.apache.commons.httpclient.HttpConnection", - "org.apache.commons.httpclient.HttpState" - ], - "return": "boolean", - "dataIn": { - "parameters": [ - 2, - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to call getAttribute(String name) on the wrapped request object.", - "class": "Provides a convenient implementation of the ServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.ServletRequestWrapper.getAttribute", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.Object", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.oracle.com\/javaee\/6\/api\/javax\/servlet\/http\/HttpServletResponseWrapper.html", - "type": [ - "sink" - ], - "cwe": [ - "CWE601" - ], - "javadoc": { - "method": "The default behavior of this method is to return sendRedirect(String location) on the wrapped response object.", - "class": "Provides a convenient implementation of the HttpServletResponse interface that can be subclassed by developers wishing to adapt the response from a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped response object." - }, - "framework": "javageneral", - "discovery": "manual", - "name": "javax.servlet.http.HttpServletResponseWrapper.sendRedirect", - "jar": null, - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring-security\/site\/docs\/current\/apidocs\/org\/springframework\/security\/core\/authority\/mapping\/SimpleAttributes2GrantedAuthoritiesMapper.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "", - "class": "This class implements the Attributes2GrantedAuthoritiesMapper interface by doing a one-to-one mapping from roles to Spring Security GrantedAuthorities. Optionally a prefix can be added, and the attribute name can be converted to upper or lower case. By default, the attribute is prefixed with \"ROLE_\" unless it already starts with \"ROLE_\", and no case conversion is done." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.core.authority.mapping.SimpleAttributes2GrantedAuthoritiesMapper.isConvertAttributeToUpperCase", - "jar": null, - "comment": "Counter example for authentication (none)", - "parameters": [], - "return": "boolean", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/github.com\/OWASP\/java-html-sanitizer\/blob\/master\/src\/main\/java\/org\/owasp\/html\/HtmlSanitizer.java", - "type": [ - "sanitizer" - ], - "cwe": [ - "CWE306", - "CWE079" - ], - "javadoc": { - "method": "", - "class": "Consumes an HTML stream, and dispatches events to a policy object which decides which elements and attributes to allow." - }, - "framework": "generaljava", - "discovery": "manual", - "name": "org.owasp.html.HtmlSanitizer.stripQuotes", - "jar": null, - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Encode data for use in an XML attribute. The implementation should follow the XML Encoding Standard from the W3C. The use of a real XML parser is highly encouraged. However, in the hopefully rare case that you need to make sure that data is safe for inclusion in an XML document and cannot use a parse, this method provides a safe mechanism to do so.", - "class": "Reference implementation of the Encoder interface. This implementation takes a whitelist approach to encoding, meaning that everything not specifically identified in a list of \"immune\" characters is encoded." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.owasp.esapi.reference.DefaultEncoder.encodeForXMLAttribute", - "jar": "esapi-2.0_rc10.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/spring-security\/site\/docs\/current\/apidocs\/org\/springframework\/security\/crypto\/codec\/Utf8.html", - "type": [ - "sanitizer" - ], - "cwe": [ - "CWE079", - "CWE601" - ], - "javadoc": { - "method": "Get the bytes of the String in UTF-8 encoded form.", - "class": "UTF-8 Charset encoder\/decoder. For internal use only." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.crypto.codec.Utf8.encode", - "jar": null, - "comment": "", - "parameters": [ - "java.lang.CharSequence" - ], - "return": "byte[]", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring\/docs\/current\/javadoc-api\/org\/springframework\/test\/context\/junit4\/SpringJUnit4ClassRunner.html", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Perform the same logic as {@link BlockJUnit4ClassRunner#runChild(FrameworkMethod, RunNotifier)}, except that tests are determined to be ignored by {@link #isTestMethodIgnored(FrameworkMethod)}.", - "class": "{@code SpringJUnit4ClassRunner} is a custom extension of JUnit's {@link BlockJUnit4ClassRunner} which provides functionality of the Spring TestContext Framework to standard JUnit tests by means of the {@link TestContextManager} and associated support classes and annotations. To use this class, simply annotate a JUnit 4 based test class with {@code @RunWith(SpringJUnit4ClassRunner.class)} or {@code @RunWith(SpringRunner.class)}. The following list constitutes all annotations currently supported directly or indirectly by {@code SpringJUnit4ClassRunner}. (Note that additional annotations may be supported by various {@link org.springframework.test.context.TestExecutionListener TestExecutionListener} or {@link org.springframework.test.context.TestContextBootstrapper TestContextBootstrapper} implementations.) {@link Test#expected() @Test(expected=...)} {@link Test#timeout() @Test(timeout=...)} {@link org.springframework.test.annotation.Timed @Timed} {@link org.springframework.test.annotation.Repeat @Repeat} {@link Ignore @Ignore} {@link org.springframework.test.annotation.ProfileValueSourceConfiguration @ProfileValueSourceConfiguration} {@link org.springframework.test.annotation.IfProfileValue @IfProfileValue} If you would like to use the Spring TestContext Framework with a runner other than this one, use {@link SpringClassRule} and {@link SpringMethodRule}. NOTE: As of Spring Framework 4.3, this class requires JUnit 4.12 or higher." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild", - "jar": null, - "comment": "Sink", - "parameters": [ - "org.junit.runners.model.FrameworkMethod", - "org.junit.runner.notification.RunNotifier" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Constructs a FileWriter object given a file name with a boolean indicating whether or not to append the data written.", - "class": "Convenience class for writing character files. The constructors of this class assume that the default character encoding and the default byte-buffer size are acceptable. To specify these values yourself, construct an OutputStreamWriter on a FileOutputStream. Whether or not a file is available or may be created depends upon the underlying platform. Some platforms, in particular, allow a file to be opened for writing by only one FileWriter (or other file-writing object) at a time. In such situations the constructors in this class will fail if the file involved is already open. FileWriter is meant for writing streams of characters. For writing streams of raw bytes, consider using a FileOutputStream." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.io.FileWriter.", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.lang.String", - "boolean" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring\/docs\/4.3.9.RELEASE\/javadoc-api\/org\/springframework\/web\/socket\/handler\/ConcurrentWebSocketSessionDecorator.html", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Send a WebSocket message: either {@link TextMessage} or {@link BinaryMessage}.", - "class": "Wrap a {@link org.springframework.web.socket.WebSocketSession WebSocketSession} to guarantee only one thread can send messages at a time. If a send is slow, subsequent attempts to send more messages from other threads will not be able to acquire the flush lock and messages will be buffered instead -- at that time, the specified buffer-size limit and send-time limit will be checked and the session closed if the limits are exceeded." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.web.socket.handler.ConcurrentWebSocketSessionDecorator.sendMessage", - "jar": null, - "comment": "Sink", - "parameters": [ - "org.springframework.web.socket.WebSocketMessage" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Specify default parameters for the type. This only applies to parameterized types.", - "class": "Bean that encapsulates a Hibernate type definition. Typically defined as inner bean within a LocalSessionFactoryBean definition, as list element for the \"typeDefinitions\" bean property. For example: \n ...\n \n \n \n \n \n \n \n \n ...\n Alternatively, specify a bean id (or name) attribute for the inner bean, instead of the \"typeName\" property." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.orm.hibernate3.TypeDefinitionBean.setParameters", - "jar": null, - "comment": "Sink", - "parameters": [ - "java.util.Properties" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to return getServletPath() on the wrapped request object.", - "class": "Provides a convenient implementation of the HttpServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.HttpServletRequestWrapper.getServletPath", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/static.javadoc.io\/org.springframework\/spring\/2.0.4\/org\/springframework\/orm\/hibernate3\/LocalDataSourceConnectionProvider.html", - "type": [ - "auth-unsafe-state" - ], - "cwe": [ - "CWE089", - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "This implementation simply calls Connection.close.", - "class": "Hibernate connection provider for local DataSource instances in an application context. This provider will be used if LocalSessionFactoryBean's \"dataSource\" property is set without a Hibernate TransactionManagerLookup." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.closeConnection", - "jar": null, - "comment": "Puts the state of the program to unauthenticated.", - "parameters": [ - "java.sql.Connection" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring\/docs\/4.3.9.RELEASE\/javadoc-api\/org\/springframework\/mock\/web\/MockHttpServletRequest.html", - "type": [ - "auth-unsafe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Establish null as the value returned when getUserPrincipal, getRemoteUser, and getAuthType is called on the request.", - "class": "Mock implementation of the {@link javax.servlet.http.HttpServletRequest} interface. The default, preferred {@link Locale} for the server mocked by this request is {@link Locale#ENGLISH}. This value can be changed via {@link #addPreferredLocale} or {@link #setPreferredLocales}. As of Spring Framework 4.0, this set of mocks is designed on a Servlet 3.0 baseline." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.mock.web.MockHttpServletRequest.logout", - "jar": null, - "comment": "Puts the program is an unauthenticated state.", - "parameters": [], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE089" - ], - "javadoc": { - "method": "Remove a persistent instance from the datastore. The object argument may be an instance associated with the receiving Session or a transient instance with an identifier associated with existing persistent state. This operation cascades to associated instances if the association is mapped with {@code cascade=\"delete\"}", - "class": "Concrete implementation of a Session. Exposes two interfaces: {@link org.hibernate.Session} to the application {@link org.hibernate.engine.spi.SessionImplementor} to other Hibernate components (SPI) This class is not thread-safe." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.hibernate.internal.SessionImpl.delete", - "jar": "hibernate-core-5.2.10.Final.jar", - "comment": "", - "parameters": [ - "java.lang.String", - "java.lang.Object" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/autorepo\/docs\/spring-security\/3.2.1.RELEASE\/apidocs\/org\/springframework\/security\/crypto\/codec\/Base64.html", - "type": [ - "sanitizer" - ], - "cwe": [ - "CWE079", - "CWE601" - ], - "javadoc": { - "method": "", - "class": "Base64 encoder which is a reduced version of Robert Harder's public domain implementation (version 2.3.7). See http:\/\/iharder.net\/base64 for more information. For internal use only." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.crypto.codec.Base64.encodeBytesToBytes", - "jar": null, - "comment": "", - "parameters": [ - "byte[]", - "int", - "int", - "int" - ], - "return": "byte[]", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/docs.spring.io\/spring-security\/site\/docs\/current\/apidocs\/org\/springframework\/security\/config\/annotation\/web\/messaging\/MessageSecurityMetadataSourceRegistry.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "", - "class": "Allows mapping security constraints using {@link MessageMatcher} to the security expressions." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.config.annotation.web.messaging.MessageSecurityMetadataSourceRegistry.hasAnyAuthority", - "jar": null, - "comment": "Counter example for sanitizer (has)", - "parameters": [ - "java.lang.String[]" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "A convenience function that sanitizes a string of HTML.", - "class": "A factory that can be used to link a sanitizer to an output receiver and that provides a convenient {@link PolicyFactory#sanitize sanitize} method and a {@link PolicyFactory#and and} method to compose policies." - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.owasp.html.PolicyFactory.sanitize", - "jar": "owasp-java-html-sanitizer-r239.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Log a SEVERE message. If the logger is currently enabled for the SEVERE message level then the given message is forwarded to all the registered output Handler objects.", - "class": "A Logger object is used to log messages for a specific system or application component. Loggers are normally named, using a hierarchical dot-separated namespace. Logger names can be arbitrary strings, but they should normally be based on the package name or class name of the logged component, such as java.net or javax.swing. In addition it is possible to create \"anonymous\" Loggers that are not stored in the Logger namespace. Logger objects may be obtained by calls on one of the getLogger factory methods. These will either create a new Logger or return a suitable existing Logger. It is important to note that the Logger returned by one of the {@code getLogger} factory methods may be garbage collected at any time if a strong reference to the Logger is not kept. Logging messages will be forwarded to registered Handler objects, which can forward the messages to a variety of destinations, including consoles, files, OS logs, etc. Each Logger keeps track of a \"parent\" Logger, which is its nearest existing ancestor in the Logger namespace. Each Logger has a \"Level\" associated with it. This reflects a minimum Level that this logger cares about. If a Logger's level is set to null, then its effective level is inherited from its parent, which may in turn obtain it recursively from its parent, and so on up the tree. The log level can be configured based on the properties from the logging configuration file, as described in the description of the LogManager class. However it may also be dynamically changed by calls on the Logger.setLevel method. If a logger's level is changed the change may also affect child loggers, since any child logger that has null as its level will inherit its effective level from its parent. On each logging call the Logger initially performs a cheap check of the request level (e.g., SEVERE or FINE) against the effective log level of the logger. If the request level is lower than the log level, the logging call returns immediately. After passing this initial (cheap) test, the Logger will allocate a LogRecord to describe the logging message. It will then call a Filter (if present) to do a more detailed check on whether the record should be published. If that passes it will then publish the LogRecord to its output Handlers. By default, loggers also publish to their parent's Handlers, recursively up the tree. Each Logger may have a {@code ResourceBundle} associated with it. The {@code ResourceBundle} may be specified by name, using the {@link #getLogger(java.lang.String, java.lang.String)} factory method, or by value - using the {@link #setResourceBundle(java.util.ResourceBundle) setResourceBundle} method. This bundle will be used for localizing logging messages. If a Logger does not have its own {@code ResourceBundle} or resource bundle name, then it will inherit the {@code ResourceBundle} or resource bundle name from its parent, recursively up the tree. Most of the logger output methods take a \"msg\" argument. This msg argument may be either a raw value or a localization key. During formatting, if the logger has (or inherits) a localization {@code ResourceBundle} and if the {@code ResourceBundle} has a mapping for the msg string, then the msg string is replaced by the localized value. Otherwise the original msg string is used. Typically, formatters use java.text.MessageFormat style formatting to format parameters, so for example a format string \"{0} {1}\" would format two parameters as strings. A set of methods alternatively take a \"msgSupplier\" instead of a \"msg\" argument. These methods take a {@link Supplier}{@code } function which is invoked to construct the desired log message only when the message actually is to be logged based on the effective log level thus eliminating unnecessary message construction. For example, if the developer wants to log system health status for diagnosis, with the String-accepting version, the code would look like: \n\n class DiagnosisMessages {\n static String systemHealthStatus() {\n \/\/ collect system health information\n ...\n }\n }\n ...\n logger.log(Level.FINER, DiagnosisMessages.systemHealthStatus());\n With the above code, the health status is collected unnecessarily even when the log level FINER is disabled. With the Supplier-accepting version as below, the status will only be collected when the log level FINER is enabled. \n\n logger.log(Level.FINER, DiagnosisMessages::systemHealthStatus);\n When looking for a {@code ResourceBundle}, the logger will first look at whether a bundle was specified using {@link #setResourceBundle(java.util.ResourceBundle) setResourceBundle}, and then only whether a resource bundle name was specified through the {@link #getLogger(java.lang.String, java.lang.String) getLogger} factory method. If no {@code ResourceBundle} or no resource bundle name is found, then it will use the nearest {@code ResourceBundle} or resource bundle name inherited from its parent tree. When a {@code ResourceBundle} was inherited or specified through the {@link #setResourceBundle(java.util.ResourceBundle) setResourceBundle} method, then that {@code ResourceBundle} will be used. Otherwise if the logger only has or inherited a resource bundle name, then that resource bundle name will be mapped to a {@code ResourceBundle} object, using the default Locale at the time of logging. When mapping resource bundle names to {@code ResourceBundle} objects, the logger will first try to use the Thread's {@linkplain java.lang.Thread#getContextClassLoader() context class loader} to map the given resource bundle name to a {@code ResourceBundle}. If the thread context class loader is {@code null}, it will try the {@linkplain java.lang.ClassLoader#getSystemClassLoader() system class loader} instead. If the {@code ResourceBundle} is still not found, it will use the class loader of the first caller of the {@link #getLogger(java.lang.String, java.lang.String) getLogger} factory method. Formatting (including localization) is the responsibility of the output Handler, which will typically call a Formatter. Note that formatting need not occur synchronously. It may be delayed until a LogRecord is actually written to an external sink. The logging methods are grouped in five main categories: There are a set of \"log\" methods that take a log level, a message string, and optionally some parameters to the message string. There are a set of \"logp\" methods (for \"log precise\") that are like the \"log\" methods, but also take an explicit source class name and method name. There are a set of \"logrb\" method (for \"log with resource bundle\") that are like the \"logp\" method, but also take an explicit resource bundle object for use in localizing the log message. There are convenience methods for tracing method entries (the \"entering\" methods), method returns (the \"exiting\" methods) and throwing exceptions (the \"throwing\" methods). Finally, there are a set of convenience methods for use in the very simplest cases, when a developer simply wants to log a simple string at a given log level. These methods are named after the standard Level names (\"severe\", \"warning\", \"info\", etc.) and take a single argument, a message string. For the methods that do not take an explicit source name and method name, the Logging framework will make a \"best effort\" to determine which class and method called into the logging method. However, it is important to realize that this automatically inferred information may only be approximate (or may even be quite wrong!). Virtual machines are allowed to do extensive optimizations when JITing and may entirely remove stack frames, making it impossible to reliably locate the calling class and method. All methods on Logger are multi-thread safe. Subclassing Information: Note that a LogManager class may provide its own implementation of named Loggers for any point in the namespace. Therefore, any subclasses of Logger (unless they are implemented in conjunction with a new LogManager class) should take care to obtain a Logger instance from the LogManager class and should delegate operations such as \"isLoggable\" and \"log(LogRecord)\" to that instance. Note that in order to intercept all logging output, subclasses need only override the log(LogRecord) method. All the other logging methods are implemented as calls on this log(LogRecord) method." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.util.logging.Logger.severe", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/github.com\/dmfs\/oauth2-essentials\/blob\/master\/src\/main\/java\/org\/dmfs\/oauth2\/client\/BasicOAuth2ClientCredentials.java", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Authenticates the given request using the Basic authentication scheme.", - "class": "Basic implementation of {@link OAuth2ClientCredentials}." - }, - "framework": "oauth2essentials", - "discovery": "manual", - "name": "org.dmfs.oauth2.client.BasicOAuth2ClientCredentials.authenticatedRequest", - "jar": null, - "comment": "Sends an authentication request.", - "parameters": [ - "org.dmfs.httpclient.HttpRequest" - ], - "return": "org.dmfs.httpclient.HttpRequest", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/shiro.apache.org\/static\/1.2.6\/apidocs\/org\/apache\/shiro\/mgt\/DefaultSecurityManager.html", - "type": [ - "auth-unsafe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Logs out the specified Subject from the system. Note that most application developers should not call this method unless they have a good reason for doing so. The preferred way to logout a Subject is to call {@link org.apache.shiro.subject.Subject#logout Subject.logout()}, not the {@code SecurityManager} directly. Framework developers on the other hand might find calling this method directly useful in certain cases.", - "class": "The Shiro framework's default concrete implementation of the {@link SecurityManager} interface, based around a collection of {@link org.apache.shiro.realm.Realm}s. This implementation delegates its authentication, authorization, and session operations to wrapped {@link Authenticator}, {@link Authorizer}, and {@link org.apache.shiro.session.mgt.SessionManager SessionManager} instances respectively via superclass implementation. To greatly reduce and simplify configuration, this implementation (and its superclasses) will create suitable defaults for all of its required dependencies, except the required one or more {@link Realm Realm}s. Because {@code Realm} implementations usually interact with an application's data model, they are almost always application specific; you will want to specify at least one custom {@code Realm} implementation that 'knows' about your application's data\/security model (via {@link #setRealm} or one of the overloaded constructors). All other attributes in this class hierarchy will have suitable defaults for most enterprise applications. RememberMe notice: This class supports the ability to configure a {@link #setRememberMeManager RememberMeManager} for {@code RememberMe} identity services for login\/logout, BUT, a default instance will not be created for this attribute at startup. Because RememberMe services are inherently client tier-specific and therefore aplication-dependent, if you want {@code RememberMe} services enabled, you will have to specify an instance yourself via the {@link #setRememberMeManager(RememberMeManager) setRememberMeManager} mutator. However if you're reading this JavaDoc with the expectation of operating in a Web environment, take a look at the {@code org.apache.shiro.web.DefaultWebSecurityManager} implementation, which does support {@code RememberMe} services by default at startup." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.shiro.mgt.DefaultSecurityManager.logout", - "jar": null, - "comment": "Logout the specified subject.", - "parameters": [ - "org.apache.shiro.subject.Subject" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [ - "CWE089" - ], - "javadoc": { - "method": "Used during \"compiling\" a JPA criteria query.", - "class": "Concrete implementation of a Session. Exposes two interfaces: {@link org.hibernate.Session} to the application {@link org.hibernate.engine.spi.SessionImplementor} to other Hibernate components (SPI) This class is not thread-safe." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.hibernate.internal.SessionImpl.createQuery", - "jar": "hibernate-core-5.2.10.Final.jar", - "comment": "", - "parameters": [ - "java.lang.String", - "java.lang.Class", - "javax.persistence.criteria.Selection", - "org.hibernate.jpa.spi.HibernateEntityManagerImplementor$QueryOptions" - ], - "return": "org.hibernate.query.spi.QueryImplementor", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Replace escaped hex digits with the equivalent binary representation. Assume either V2 or V3 escape mechanisms: V2: \\*, \\(, \\), \\\\. V3: \\2A, \\28, \\29, \\5C, \\00.", - "class": "Represents an LDAP Filter. This filter object can be created from a String or can be built up programatically by adding filter components one at a time. Existing filter components can be iterated though. Each filter component has an integer identifier defined in this class. The following are basic filter components: {@link #EQUALITY_MATCH}, {@link #GREATER_OR_EQUAL}, {@link #LESS_OR_EQUAL}, {@link #SUBSTRINGS}, {@link #PRESENT}, {@link #APPROX_MATCH}, {@link #EXTENSIBLE_MATCH}. More filters can be nested together into more complex filters with the following filter components: {@link #AND}, {@link #OR}, {@link #NOT} Substrings can have three components: Filter ::= CHOICE {\n and [0] SET OF Filter,\n or [1] SET OF Filter,\n not [2] Filter,\n equalityMatch [3] AttributeValueAssertion,\n substrings [4] SubstringFilter,\n greaterOrEqual [5] AttributeValueAssertion,\n lessOrEqual [6] AttributeValueAssertion,\n present [7] AttributeDescription,\n approxMatch [8] AttributeValueAssertion,\n extensibleMatch [9] MatchingRuleAssertion }" - }, - "framework": "ldap", - "discovery": "manual", - "name": "com.novell.ldap.rfc2251.RfcFilter.unescapeString", - "jar": null, - "comment": "Counter example for sanitizer (unescape)", - "parameters": [ - "java.lang.String" - ], - "return": "byte[]", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/xml.apache.org\/xalan-j\/apidocs\/org\/apache\/xpath\/jaxp\/XPathImpl.html", - "type": [ - "sink" - ], - "cwe": [ - "CWE078" - ], - "javadoc": { - "method": "Compile an XPath expression for later evaluation. If expression contains any {@link XPathFunction}s, they must be available via the {@link XPathFunctionResolver}. An {@link XPathExpressionException} will be thrown if the XPathFunction cannot be resovled with the XPathFunctionResolver. If expression is null, a NullPointerException is thrown.", - "class": "The XPathImpl class provides implementation for the methods defined in javax.xml.xpath.XPath interface. This provide simple access to the results of an XPath expression." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xpath.jaxp.XPathImpl.compile", - "jar": null, - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "javax.xml.xpath.XPathExpression", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "http:\/\/docs.spring.io\/autorepo\/docs\/spring-security\/3.1.8.CI-SNAPSHOT\/apidocs\/org\/springframework\/security\/authentication\/RememberMeAuthenticationProvider.html", - "type": [ - "auth-safe-state" - ], - "cwe": [ - "CWE863", - "CWE306", - "CWE862" - ], - "javadoc": { - "method": "Performs authentication with the same contract as {@link org.springframework.security.authentication.AuthenticationManager#authenticate(Authentication)} .", - "class": "An {@link AuthenticationProvider} implementation that validates {@link RememberMeAuthenticationToken}s. To be successfully validated, the {@link RememberMeAuthenticationToken#getKeyHash()} must match this class' {@link #getKey()}." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.security.authentication.RememberMeAuthenticationProvider.authenticate", - "jar": null, - "comment": "The input object is authenticated and returned.", - "parameters": [ - "org.springframework.security.core.Authentication" - ], - "return": "org.springframework.security.core.Authentication", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring-framework\/docs\/current\/javadoc-api\/org\/springframework\/mock\/web\/MockJspWriter.html", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Print a String and then terminate the line. This method behaves as though it invokes {@link #print(String)} and then {@link #println()}.", - "class": "Mock implementation of the {@link javax.servlet.jsp.JspWriter} class. Used for testing the web framework; only necessary for testing applications when testing custom JSP tags." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.mock.web.MockJspWriter.println", - "jar": null, - "comment": "Sink", - "parameters": [ - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Returns the contents of the file item as a String, using the default character encoding. This method uses {@link #get()} to retrieve the contents of the item.", - "class": "An adapter of Servlet 3.0 {@link Part} to Apache Commons FileUpload's {@link FileItem}" - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.apache.wicket.protocol.http.servlet.ServletPartFileItem.getString", - "jar": "wicket-core-7.8.0.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "The default behavior of this method is to return getQueryString() on the wrapped request object.", - "class": "Provides a convenient implementation of the HttpServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.HttpServletRequestWrapper.getQueryString", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "", - "discovery": "find-sec-bugs", - "name": "org.apache.wicket.protocol.http.ClientProperties.getNavigatorAppName", - "jar": "wicket-core-7.8.0.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/xalan.apache.org\/xalan-j\/apidocs\/org\/apache\/xalan\/templates\/ElemTemplateElement.html", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Replace the old child with a new child.", - "class": "An instance of this class represents an element inside an xsl:template class. It has a single \"execute\" method which is expected to perform the given action on the result tree. This class acts like a Element node, and implements the Element interface, but is not a full implementation of that interface... it only implements enough for basic traversal of the tree." - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xalan.templates.ElemTemplateElement.replaceChild", - "jar": null, - "comment": "Counter example for sanitizer (replace but for Nodes only)", - "parameters": [ - "org.w3c.dom.Node", - "org.w3c.dom.Node" - ], - "return": "org.w3c.dom.Node", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/github.com\/spring-projects\/spring-framework\/blob\/master\/spring-websocket\/src\/main\/java\/org\/springframework\/web\/socket\/config\/HandlersBeanDefinitionParser.java", - "type": [ - "sink", - "source" - ], - "cwe": [ - "CWE601" - ], - "javadoc": { - "method": "Parse the specified {@link org.w3c.dom.Element} and register the resulting {@link BeanDefinition BeanDefinition(s)} with the {@link org.springframework.beans.factory.xml.ParserContext#getRegistry() BeanDefinitionRegistry} embedded in the supplied {@link ParserContext}. Implementations must return the primary {@link BeanDefinition} that results from the parse if they will ever be used in a nested fashion (for example as an inner tag in a {@code } tag). Implementations may return {@code null} if they will not be used in a nested fashion.", - "class": "Parses the configuration for the {@code websocket:handlers} namespace element. Registers a Spring MVC {@code SimpleUrlHandlerMapping} to map HTTP WebSocket handshake (or SockJS) requests to {@link org.springframework.web.socket.WebSocketHandler WebSocketHandler}s." - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.web.socket.config.HandlersBeanDefinitionParser.parse", - "jar": null, - "comment": "Source training set", - "parameters": [ - "org.w3c.dom.Element", - "org.springframework.beans.factory.xml.ParserContext" - ], - "return": "org.springframework.beans.factory.config.BeanDefinition", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [], - "javadoc": { - "method": "Read a line of text. Whenever a line terminator is read the current line number is incremented.", - "class": "A buffered character-input stream that keeps track of line numbers. This class defines methods {@link #setLineNumber(int)} and {@link #getLineNumber()} for setting and getting the current line number respectively. By default, line numbering begins at 0. This number increments at every line terminator as the data is read, and can be changed with a call to setLineNumber(int). Note however, that setLineNumber(int) does not actually change the current position in the stream; it only changes the value that will be returned by getLineNumber(). A line is considered to be terminated by any one of a line feed ('\\n'), a carriage return ('\\r'), or a carriage return followed immediately by a linefeed." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "java.io.LineNumberReader.readLine", - "jar": "java-rt-jar-stubs-1.5.0.jar", - "comment": "", - "parameters": [], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "https:\/\/github.com\/scribejava\/scribejava\/blob\/master\/scribejava-core\/src\/main\/java\/com\/github\/scribejava\/core\/oauth\/OAuth20Service.java", - "type": [ - "auth-safe-state", - "sink" - ], - "cwe": [ - "CWE306" - ], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "scribejava", - "discovery": "manual", - "name": "com.github.scribejava.core.oauth.OAuth20Service.sendAccessTokenRequestSync", - "jar": null, - "comment": "Returns a tocken for the given request.", - "parameters": [ - "com.github.scribejava.core.model.OAuthRequest" - ], - "return": "com.github.scribejava.core.model.OAuth2AccessToken", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sink" - ], - "cwe": [], - "javadoc": { - "method": "Specifies the domain within which this cookie should be presented. The form of the domain name is specified by RFC 2109. A domain name begins with a dot (.foo.com) and means that the cookie is visible to servers in a specified Domain Name System (DNS) zone (for example, www.foo.com, but not a.b.foo.com). By default, cookies are only returned to the server that sent them.", - "class": "Creates a cookie, a small amount of information sent by a servlet to a Web browser, saved by the browser, and later sent back to the server. A cookie's value can uniquely identify a client, so cookies are commonly used for session management. A cookie has a name, a single value, and optional attributes such as a comment, path and domain qualifiers, a maximum age, and a version number. Some Web browsers have bugs in how they handle the optional attributes, so use them sparingly to improve the interoperability of your servlets. The servlet sends cookies to the browser by using the {@link HttpServletResponse#addCookie} method, which adds fields to HTTP response headers to send cookies to the browser, one at a time. The browser is expected to support 20 cookies for each Web server, 300 cookies total, and may limit cookie size to 4 KB each. The browser returns cookies to the servlet by adding fields to HTTP request headers. Cookies can be retrieved from a request by using the {@link HttpServletRequest#getCookies} method. Several cookies might have the same name but different path attributes. Cookies affect the caching of the Web pages that use them. HTTP 1.0 does not cache pages that use cookies created with this class. This class does not support the cache control defined with HTTP 1.1. This class supports both the Version 0 (by Netscape) and Version 1 (by RFC 2109) cookie specifications. By default, cookies are created using Version 0 to ensure the best interoperability." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "javax.servlet.http.Cookie.setDomain", - "jar": "tomcat-5.5-servlet-api.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "https:\/\/docs.spring.io\/spring\/docs\/current\/javadoc-api\/org\/springframework\/jdbc\/object\/RdbmsOperation.html", - "type": [], - "cwe": [], - "javadoc": { - "method": "", - "class": "" - }, - "framework": "spring", - "discovery": "manual", - "name": "org.springframework.jdbc.object.RdbmsOperation.setQueryTimeout", - "jar": null, - "comment": "Counter example for cwe089", - "parameters": [ - "int" - ], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": true - }, - "link": "", - "type": [ - "source" - ], - "cwe": [ - "CWE862" - ], - "javadoc": { - "method": "", - "class": "Provides the Application Default Credential from the environment. An instance represents the per-process state used to get and cache the credential and allows overriding the state and environment for testing purposes." - }, - "framework": "oauth", - "discovery": "manual", - "name": "com.google.auth.oauth2.DefaultCredentialsProvider.getWellKnownCredentialsFile", - "jar": null, - "comment": "Source training set", - "parameters": [], - "return": "java.io.File", - "dataIn": { - "parameters": [ - 0 - ], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "This method encodes for JavaScript strings contained within a JavaScript or JSON file. This method is NOT safe for use in ANY context embedded in HTML. The caller must provide the surrounding quotation characters. This method performs the same encode as {@link #forJavaScript(String)} with the exception that \/ and & are not escaped and \" and ' are encoded as \\\" and \\' respectively. Unless you are interested in saving a few bytes of output or are writing a framework on top of this library, it is recommend that you use {@link #forJavaScript(String)} over this method. Example JSP Usage: This example is serving up JavaScript source directly: \n var data = \"\";\n This example is serving up JSON data (users of this use-case are encouraged to read up on \"JSON Hijacking\"): \n \n {\"data\":\"\"}", - "class": "Encode -- fluent interface for contextual encoding. Example usage in a JSP: \" \/>\n There are two versions of each contextual encoding method. The first takes a {@code String} argument and returns the encoded version as a {@code String}. The second version writes the encoded version directly to a {@code Writer}. Please make sure to read and understand the context that the method encodes for. Encoding for the incorrect context will likely lead to exposing a cross-site scripting vulnerability." - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.owasp.encoder.Encode.forJavaScriptSource", - "jar": "encoder-1.2.1.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "source" - ], - "cwe": [ - "CWE079", - "CWE601" - ], - "javadoc": { - "method": "", - "class": "Stub implementation of a {@link javax.servlet.http.HttpServletRequest} with lots of unimplemented methods. I implemented only those, which are required for testing the {@link org.apache.xmlrpc.webserver.XmlRpcServlet}. Perhaps someone else is adding more at a later time?" - }, - "framework": "apache", - "discovery": "manual", - "name": "org.apache.xmlrpc.webserver.HttpServletRequestImpl.parseParameters", - "jar": null, - "comment": "Source training set", - "parameters": [], - "return": "void", - "dataIn": { - "parameters": [], - "return": false - } - }, - { - "dataOut": { - "parameters": [], - "return": false - }, - "link": "", - "type": [ - "sanitizer" - ], - "cwe": [], - "javadoc": { - "method": "Escapes the characters in a {@code String} using XML entities. For example: {@code \"bread\" & \"butter\"} => {@code \"bread\" & \"butter\"}. Supports only the five basic XML entities (gt, lt, quot, amp, apos). Does not support DTDs or external entities. Note that Unicode characters greater than 0x7f are as of 3.0, no longer escaped. If you still wish this functionality, you can achieve it via the following: {@code StringEscapeUtils.ESCAPE_XML.with( NumericEntityEscaper.between(0x7f, Integer.MAX_VALUE) );}", - "class": "Escapes and unescapes {@code String}s for Java, Java Script, HTML and XML. #ThreadSafe#" - }, - "framework": "", - "discovery": "thecodemaster.com", - "name": "org.apache.commons.lang3.StringEscapeUtils.escapeXml", - "jar": "commons-lang3-3.10.jar", - "comment": "", - "parameters": [ - "java.lang.String" - ], - "return": "java.lang.String", - "dataIn": { - "parameters": [], - "return": false - } - } - ] -} \ No newline at end of file From f163adb5ef9f2df7ca789dd14897fb88f68edc4e Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 27 Feb 2024 14:05:21 +0100 Subject: [PATCH 18/54] Remove method signature attribute from dataset --- .../meka-code-br-instances.arff} | 824 +++++++++--------- 1 file changed, 412 insertions(+), 412 deletions(-) rename swan-pipeline/src/main/resources/dataset/meka/{code/meka-code-instances.arff => code-br/meka-code-br-instances.arff} (56%) diff --git a/swan-pipeline/src/main/resources/dataset/meka/code/meka-code-instances.arff b/swan-pipeline/src/main/resources/dataset/meka/code-br/meka-code-br-instances.arff similarity index 56% rename from swan-pipeline/src/main/resources/dataset/meka/code/meka-code-instances.arff rename to swan-pipeline/src/main/resources/dataset/meka/code-br/meka-code-br-instances.arff index 74f24b3..a6c7520 100644 --- a/swan-pipeline/src/main/resources/dataset/meka/code/meka-code-instances.arff +++ b/swan-pipeline/src/main/resources/dataset/meka/code-br/meka-code-br-instances.arff @@ -11,7 +11,7 @@ @attribute source {0,1} @attribute CWE863 {0,1} @attribute CWE089 {0,1} -@attribute id {'','','','','','()>','','','','','','','','','','','','','','','','','','','','','','','','','','(java.util.Hashtable)>','','','','','','','','','','','','','','(java.lang.String+javax.xml.transform.SourceLocator+org.apache.xml.utils.PrefixResolver+int)>','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','()>','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','(java.lang.String+java.lang.String)>','','','','','','','','','','','','','','','','','','','','','','','','','(byte[])>','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','(java.lang.String)>','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','(java.nio.channels.ReadableByteChannel)>','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','(java.io.File+java.lang.String)>','','','','','','(java.lang.String+java.lang.String)>','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','(java.lang.String+boolean)>','','(java.lang.String)>','','','','','','','','','','','','','','','','','','','','','','','','()>','','','(java.lang.String+java.util.Map)>','','','','','','','','','','','',''} +@attribute CWE89 {0,1} @attribute '' {true,false} @attribute '' {true,false} @attribute '' {true,false} @@ -200,414 +200,414 @@ @attribute '' {true,false} @data -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,true,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,true,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,true,true,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,true,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'()>',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,1,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,true,?,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,1,0,1,0,0,1,0,1,1,0,'',false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,false,true,true,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,1,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'(java.util.Hashtable)>',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,true,?,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,1,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,true,false,true,true,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,true,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,true,false,false,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,0,0,1,1,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'(java.lang.String+javax.xml.transform.SourceLocator+org.apache.xml.utils.PrefixResolver+int)>',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,true,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,true,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,0,0,0,1,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,true,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false -0,1,0,0,1,1,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,true,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,true,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,1,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,1,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,false,true,true,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,1,1,1,1,0,0,0,0,1,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,?,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,0,0,0,0,0,1,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,true,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,true,?,false,false,false,false,false,false,false,false,false,false,?,false,true,true,false,?,false,false,?,false,?,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,0,0,0,1,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true,true,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,true,false,false,false,false,true,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,0,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,true,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,true,true,false,true,false,false,false,false,true,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,true,?,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,true,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,1,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,true,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,1,0,1,1,0,0,0,0,1,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,1,0,1,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,true,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,1,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,0,0,0,1,0,0,1,0,0,'',false,false,false,false,false,false,false,false,true,true,true,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,1,1,1,1,0,1,0,0,1,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,true,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,1,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,true,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,true,false,false,true,true,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,0,0,0,1,0,1,1,0,0,'',false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,true,true,false,false,?,false,false,?,true,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,true,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,1,1,1,1,0,1,0,0,1,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,true,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,1,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,true,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,true,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'()>',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,true,?,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,0,0,1,1,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,true,false,?,false,false,false,false,false,false,true,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,true,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,true,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,true,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,true,false,false,true,?,false,false,true,false,?,false,false,?,true,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false -1,1,0,1,0,0,1,0,1,1,0,'',false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,0,0,1,1,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,true,false,false,false,true,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,0,0,1,1,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,1,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,true,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,true,false,false,true,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,true,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,1,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false -0,1,1,1,1,1,0,1,0,0,1,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,true,false,true,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,0,1,0,0,0,'',false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,0,0,0,0,0,0,1,0,0,'',false,true,false,false,false,false,false,true,true,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,true,false,false,false,?,true,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,1,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,1,1,1,1,0,1,0,0,1,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,true,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'(java.lang.String+java.lang.String)>',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,true,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,1,0,1,1,0,0,0,0,1,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true,true,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,1,1,1,1,0,1,0,0,1,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,true,true,false,true,true,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,1,0,1,1,0,1,0,0,1,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,true,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,1,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,true,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,true,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,true,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,true,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,1,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'(byte[])>',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,?,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,false,true,true,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,false,true,true,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,0,0,0,1,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,true,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,0,1,0,0,1,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,true,false,false,false,false,false,true,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,true,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,true,false,false,false,true,false,true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,true,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,0,1,0,0,0,'',false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,0,0,1,1,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,true,?,false,false,?,true,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,1,0,1,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,true,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,true,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'(java.lang.String)>',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,true,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,true,false,false,false,false,false,false,false,false,false,?,true,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,1,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,true,false,false,false,false,false,true,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,false,true,true,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,true,false,false,true,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,1,0,1,1,0,1,0,0,1,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,true,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,1,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,1,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,true,true,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,true,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,1,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,true,true,false,true,false,true,false,true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,true,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,true,false,false,false,false,false,false,false,false,false,?,true,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,true,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'(java.nio.channels.ReadableByteChannel)>',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,false,false,true,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,false,true,true,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,true,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,true,false,false,false,false,false,false,false,false,true,false,true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,0,0,1,1,0,0,0,0,0,'',false,false,false,false,false,false,false,false,true,true,true,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,true,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,1,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,true,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,1,1,1,1,0,1,0,0,1,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,true,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,1,0,0,0,0,0,1,0,1,'',false,false,false,false,false,false,false,true,true,false,true,false,true,false,false,true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'(java.io.File+java.lang.String)>',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,true,false,false,false,false,true,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,true,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,true,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'(java.lang.String+java.lang.String)>',false,false,false,false,false,false,false,false,true,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,true,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false -1,0,0,1,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,0,0,0,1,0,0,1,0,0,'',false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,1,0,1,1,0,0,0,0,1,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,true,false,false,false,true,false,true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,1,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,true,false,false,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,false,true,true,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,true,false,false,true,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,1,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,true,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,1,0,1,1,0,0,0,0,1,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,true,true,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,true,true,false,true,false,true,false,false,true,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,true,?,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,1,1,1,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,true,false,false,false,false,true,false,true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,1,0,1,1,0,0,0,0,0,1,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,1,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,true,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,1,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,true,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,1,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,1,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,true,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,true,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,1,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'(java.lang.String+boolean)>',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,true,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'(java.lang.String)>',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,true,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,0,1,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,false,true,true,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,true,?,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,true,false,false,false,false,false,true,true,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,true,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,1,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,?,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true,true,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,true,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,1,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'()>',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,1,0,0,'',false,false,false,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,true,false,true,false,false,true,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'(java.lang.String+java.util.Map)>',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,1,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,1,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,1,0,0,1,0,1,0,0,'',false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,1,0,0,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,true,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,1,0,'',false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -1,0,0,1,0,0,1,0,0,0,0,'',false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false -0,0,0,0,0,1,0,1,0,0,0,'',false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,true,false,false,false,false,false,false,false,false,false,?,true,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,true,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,true,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,true,true,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,true,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,true,?,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,1,0,1,0,0,1,0,1,1,0,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,false,true,true,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,1,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,true,?,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,true,false,true,true,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,true,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,true,false,false,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,0,0,1,1,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,true,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,true,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,0,0,0,1,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,true,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false +0,1,0,0,1,1,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,true,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,true,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,false,true,true,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,1,1,1,1,0,0,0,0,1,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,?,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,0,0,0,0,0,1,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,true,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,true,?,false,false,false,false,false,false,false,false,false,false,?,false,true,true,false,?,false,false,?,false,?,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,0,0,0,1,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true,true,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,true,false,false,false,false,true,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,0,0,0,1,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,true,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,true,true,false,true,false,false,false,false,true,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,true,?,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,true,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,1,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,true,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,1,0,1,1,0,0,0,0,1,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,1,0,1,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,true,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,0,0,0,1,0,0,1,0,0,false,false,false,false,false,false,false,false,true,true,true,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,1,1,1,1,0,1,0,0,1,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,true,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,1,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,true,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,true,false,false,true,true,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,0,0,0,1,0,1,1,0,0,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,true,true,false,false,?,false,false,?,true,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,true,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,1,1,1,1,0,1,0,0,1,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,true,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,true,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,true,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,true,?,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,0,0,1,1,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,true,false,?,false,false,false,false,false,false,true,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,true,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,true,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,true,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,true,false,false,true,?,false,false,true,false,?,false,false,?,true,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false +1,1,0,1,0,0,1,0,1,1,0,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,0,0,1,1,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,true,false,false,false,true,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,0,0,1,1,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,1,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,true,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,true,false,false,true,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,true,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,1,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false +0,1,1,1,1,1,0,1,0,0,1,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,true,false,true,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,0,1,0,0,0,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,0,0,0,0,0,0,1,0,0,false,true,false,false,false,false,false,true,true,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,true,false,false,false,?,true,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,1,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,1,1,1,1,0,1,0,0,1,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,true,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,true,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,1,0,1,1,0,0,0,0,1,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true,true,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,1,1,1,1,0,1,0,0,1,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,false,false,false,false,true,true,false,true,true,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,1,0,1,1,0,1,0,0,1,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,true,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,true,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,true,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,true,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,true,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,?,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,false,true,true,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,false,true,true,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,0,0,0,1,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,true,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,0,1,0,0,1,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,true,false,false,false,false,false,true,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,true,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,true,false,false,false,true,false,true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,true,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,0,1,0,0,0,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,0,0,1,1,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,true,?,false,false,?,true,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,1,0,1,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,true,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,true,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,true,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,true,false,false,false,false,false,false,false,false,false,?,true,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,1,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,true,false,false,false,false,false,true,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,false,true,true,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,true,false,false,true,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,1,0,1,1,0,1,0,0,1,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,true,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,1,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,1,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,true,true,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,true,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,1,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,true,true,false,true,false,true,false,true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,true,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,true,false,false,false,false,false,false,false,false,false,?,true,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,true,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,false,false,true,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,false,true,true,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,true,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,true,false,false,false,false,false,false,false,false,true,false,true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,0,0,1,1,0,0,0,0,0,false,false,false,false,false,false,false,false,true,true,true,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,0,0,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,true,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,1,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,true,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,1,1,1,1,0,1,0,0,1,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,true,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,1,0,0,0,0,0,1,0,1,false,false,false,false,false,false,false,true,true,false,true,false,true,false,false,true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,true,false,false,false,false,true,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,true,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,true,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,true,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,true,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false +1,0,0,1,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,0,0,0,1,0,0,1,0,0,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,1,0,1,1,0,0,0,0,1,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,true,false,false,false,true,false,true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,1,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,true,false,false,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,false,true,true,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,true,false,false,true,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,1,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,false,false,false,false,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,true,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,1,0,1,1,0,0,0,0,1,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,true,true,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,true,true,false,true,false,true,false,false,true,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,true,?,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,1,1,1,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,true,false,false,false,false,true,false,true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,1,0,1,1,0,0,0,0,0,1,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,1,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,true,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,true,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,1,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,1,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,true,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,true,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,1,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,true,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,true,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,0,1,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,false,true,true,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,true,?,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,true,false,false,false,false,false,true,true,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,true,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,1,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,?,true,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,true,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true,true,false,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,true,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,1,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,false,false,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,true,false,true,false,false,true,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,1,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,1,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,?,false,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,1,0,0,1,0,1,0,0,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,1,0,0,0,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,true,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,1,0,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +1,0,0,1,0,0,1,0,0,0,0,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,?,false,false,?,false,false,false,false,?,true,false,false,false,false,false,false,false,false,false,?,true,true,false,false,?,false,false,?,false,?,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false From f10f7956720203bf7694286f5385f5e3f359f458 Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 27 Feb 2024 14:05:54 +0100 Subject: [PATCH 19/54] Rename dataset and CWE attributes --- .../dataset/meka/code-br/meka-code-br-instances.arff | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/swan-pipeline/src/main/resources/dataset/meka/code-br/meka-code-br-instances.arff b/swan-pipeline/src/main/resources/dataset/meka/code-br/meka-code-br-instances.arff index a6c7520..681d0f3 100644 --- a/swan-pipeline/src/main/resources/dataset/meka/code-br/meka-code-br-instances.arff +++ b/swan-pipeline/src/main/resources/dataset/meka/code-br/meka-code-br-instances.arff @@ -1,16 +1,15 @@ -@relation 'swan-srm:-C 11-meka.filters.unsupervised.attribute.MekaClassAttributes-R1-11' +@relation 'swan-srm-code-br-dataset:-C 11' @attribute authentication {0,1} @attribute CWE601 {0,1} -@attribute CWE078 {0,1} +@attribute CWE78 {0,1} @attribute CWE306 {0,1} @attribute sanitizer {0,1} -@attribute CWE079 {0,1} +@attribute CWE79 {0,1} @attribute CWE862 {0,1} @attribute sink {0,1} @attribute source {0,1} @attribute CWE863 {0,1} -@attribute CWE089 {0,1} @attribute CWE89 {0,1} @attribute '' {true,false} @attribute '' {true,false} From e75e06b51fbc3a99b445edf0031a6a4b13bc6a1f Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 27 Feb 2024 14:08:27 +0100 Subject: [PATCH 20/54] Rename code binary relevance dataset directory --- .../resources/dataset/weka/{cod => code-br}/authentication.arff | 0 .../src/main/resources/dataset/weka/{cod => code-br}/cwe078.arff | 0 .../src/main/resources/dataset/weka/{cod => code-br}/cwe079.arff | 0 .../src/main/resources/dataset/weka/{cod => code-br}/cwe089.arff | 0 .../src/main/resources/dataset/weka/{cod => code-br}/cwe306.arff | 0 .../src/main/resources/dataset/weka/{cod => code-br}/cwe601.arff | 0 .../src/main/resources/dataset/weka/{cod => code-br}/cwe862.arff | 0 .../src/main/resources/dataset/weka/{cod => code-br}/cwe863.arff | 0 .../main/resources/dataset/weka/{cod => code-br}/sanitizer.arff | 0 .../src/main/resources/dataset/weka/{cod => code-br}/sink.arff | 0 .../src/main/resources/dataset/weka/{cod => code-br}/source.arff | 0 11 files changed, 0 insertions(+), 0 deletions(-) rename swan-pipeline/src/main/resources/dataset/weka/{cod => code-br}/authentication.arff (100%) rename swan-pipeline/src/main/resources/dataset/weka/{cod => code-br}/cwe078.arff (100%) rename swan-pipeline/src/main/resources/dataset/weka/{cod => code-br}/cwe079.arff (100%) rename swan-pipeline/src/main/resources/dataset/weka/{cod => code-br}/cwe089.arff (100%) rename swan-pipeline/src/main/resources/dataset/weka/{cod => code-br}/cwe306.arff (100%) rename swan-pipeline/src/main/resources/dataset/weka/{cod => code-br}/cwe601.arff (100%) rename swan-pipeline/src/main/resources/dataset/weka/{cod => code-br}/cwe862.arff (100%) rename swan-pipeline/src/main/resources/dataset/weka/{cod => code-br}/cwe863.arff (100%) rename swan-pipeline/src/main/resources/dataset/weka/{cod => code-br}/sanitizer.arff (100%) rename swan-pipeline/src/main/resources/dataset/weka/{cod => code-br}/sink.arff (100%) rename swan-pipeline/src/main/resources/dataset/weka/{cod => code-br}/source.arff (100%) diff --git a/swan-pipeline/src/main/resources/dataset/weka/cod/authentication.arff b/swan-pipeline/src/main/resources/dataset/weka/code-br/authentication.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/cod/authentication.arff rename to swan-pipeline/src/main/resources/dataset/weka/code-br/authentication.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/cod/cwe078.arff b/swan-pipeline/src/main/resources/dataset/weka/code-br/cwe078.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/cod/cwe078.arff rename to swan-pipeline/src/main/resources/dataset/weka/code-br/cwe078.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/cod/cwe079.arff b/swan-pipeline/src/main/resources/dataset/weka/code-br/cwe079.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/cod/cwe079.arff rename to swan-pipeline/src/main/resources/dataset/weka/code-br/cwe079.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/cod/cwe089.arff b/swan-pipeline/src/main/resources/dataset/weka/code-br/cwe089.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/cod/cwe089.arff rename to swan-pipeline/src/main/resources/dataset/weka/code-br/cwe089.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/cod/cwe306.arff b/swan-pipeline/src/main/resources/dataset/weka/code-br/cwe306.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/cod/cwe306.arff rename to swan-pipeline/src/main/resources/dataset/weka/code-br/cwe306.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/cod/cwe601.arff b/swan-pipeline/src/main/resources/dataset/weka/code-br/cwe601.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/cod/cwe601.arff rename to swan-pipeline/src/main/resources/dataset/weka/code-br/cwe601.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/cod/cwe862.arff b/swan-pipeline/src/main/resources/dataset/weka/code-br/cwe862.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/cod/cwe862.arff rename to swan-pipeline/src/main/resources/dataset/weka/code-br/cwe862.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/cod/cwe863.arff b/swan-pipeline/src/main/resources/dataset/weka/code-br/cwe863.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/cod/cwe863.arff rename to swan-pipeline/src/main/resources/dataset/weka/code-br/cwe863.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/cod/sanitizer.arff b/swan-pipeline/src/main/resources/dataset/weka/code-br/sanitizer.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/cod/sanitizer.arff rename to swan-pipeline/src/main/resources/dataset/weka/code-br/sanitizer.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/cod/sink.arff b/swan-pipeline/src/main/resources/dataset/weka/code-br/sink.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/cod/sink.arff rename to swan-pipeline/src/main/resources/dataset/weka/code-br/sink.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/cod/source.arff b/swan-pipeline/src/main/resources/dataset/weka/code-br/source.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/cod/source.arff rename to swan-pipeline/src/main/resources/dataset/weka/code-br/source.arff From baac44099ea8717d8b1e8a9d0d015ef6dc71364c Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 27 Feb 2024 14:52:49 +0100 Subject: [PATCH 21/54] Update WEKA log format --- .../java/de/fraunhofer/iem/swan/model/toolkit/Weka.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/toolkit/Weka.java b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/toolkit/Weka.java index b29521c..7008cd2 100644 --- a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/toolkit/Weka.java +++ b/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/toolkit/Weka.java @@ -10,7 +10,6 @@ import javafx.util.Pair; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import weka.classifiers.AbstractClassifier; import weka.classifiers.Classifier; import weka.classifiers.Evaluation; import weka.classifiers.bayes.BayesNet; @@ -71,8 +70,9 @@ public SrmList trainModel() { //Phase 1: classify SRM classes logger.info("Performing {}-fold cross-validation for {} using WEKA", options.getIterations(), options.getSrmClasses()); - for (String srm : options.getSrmClasses()) + for (String srm : options.getSrmClasses()) { crossValidateModel(features.getTrainInstances().get(srm)); + } //Filter methods from CWE instances that were not classified into one of the SRM classes //Phase 2: classify CWE classes @@ -186,7 +186,7 @@ public Pair crossValidateModel(Instances instances) { } else measure.put(classifier.getClass().getSimpleName(), evaluator.getFMeasure().get(key)); - logger.info("{} Average F-measure ({}), Precision ({}) and Recall ({}) for {}({}) ", classifier.getClass().getSimpleName(), averageFMeasure,averagePrecision, averageRecall, category, key); + logger.debug("{}({}): {} (F1, P, R) {}, {}, {}", category, key, classifier.getClass().getSimpleName(), averageFMeasure, averagePrecision, averageRecall); } if (!category.contains("authentication")) results.put(category, measure); From 9850ac42008f4120f54053004bcf6071000abec2 Mon Sep 17 00:00:00 2001 From: oshando Date: Wed, 28 Feb 2024 09:13:34 +0100 Subject: [PATCH 22/54] Rename ARFF dataset files --- .../code-br/{meka-code-br-instances.arff => meka-code-br.arff} | 0 .../doc-auto/{meka-doc-auto-instances.arff => meka-doc-auto.arff} | 0 .../{meka-doc-manual-instances.arff => meka-doc-manual.arff} | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename swan-pipeline/src/main/resources/dataset/meka/code-br/{meka-code-br-instances.arff => meka-code-br.arff} (100%) rename swan-pipeline/src/main/resources/dataset/meka/doc-auto/{meka-doc-auto-instances.arff => meka-doc-auto.arff} (100%) rename swan-pipeline/src/main/resources/dataset/meka/doc-manual/{meka-doc-manual-instances.arff => meka-doc-manual.arff} (100%) diff --git a/swan-pipeline/src/main/resources/dataset/meka/code-br/meka-code-br-instances.arff b/swan-pipeline/src/main/resources/dataset/meka/code-br/meka-code-br.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/meka/code-br/meka-code-br-instances.arff rename to swan-pipeline/src/main/resources/dataset/meka/code-br/meka-code-br.arff diff --git a/swan-pipeline/src/main/resources/dataset/meka/doc-auto/meka-doc-auto-instances.arff b/swan-pipeline/src/main/resources/dataset/meka/doc-auto/meka-doc-auto.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/meka/doc-auto/meka-doc-auto-instances.arff rename to swan-pipeline/src/main/resources/dataset/meka/doc-auto/meka-doc-auto.arff diff --git a/swan-pipeline/src/main/resources/dataset/meka/doc-manual/meka-doc-manual-instances.arff b/swan-pipeline/src/main/resources/dataset/meka/doc-manual/meka-doc-manual.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/meka/doc-manual/meka-doc-manual-instances.arff rename to swan-pipeline/src/main/resources/dataset/meka/doc-manual/meka-doc-manual.arff From 8fa72408cb9e21da0c2a4a220f1ee8a3cae391e9 Mon Sep 17 00:00:00 2001 From: oshando Date: Wed, 28 Feb 2024 09:14:34 +0100 Subject: [PATCH 23/54] Add MEKA code dataset ARFF file --- .../dataset/meka/code/meka-code.arff | 1734 +++++++++++++++++ 1 file changed, 1734 insertions(+) create mode 100644 swan-pipeline/src/main/resources/dataset/meka/code/meka-code.arff diff --git a/swan-pipeline/src/main/resources/dataset/meka/code/meka-code.arff b/swan-pipeline/src/main/resources/dataset/meka/code/meka-code.arff new file mode 100644 index 0000000..c8ab89f --- /dev/null +++ b/swan-pipeline/src/main/resources/dataset/meka/code/meka-code.arff @@ -0,0 +1,1734 @@ +@relation 'swan-srm-code-dataset-v1.1:-C 11' + +@attribute CWE78 {0,1} +@attribute CWE89 {0,1} +@attribute CWE862 {0,1} +@attribute authentication {0,1} +@attribute CWE601 {0,1} +@attribute source {0,1} +@attribute CWE863 {0,1} +@attribute sink {0,1} +@attribute CWE306 {0,1} +@attribute sanitizer {0,1} +@attribute CWE79 {0,1} +@attribute MethodNameContainsUNESCAPE {true,false} +@attribute ExceptionsCount numeric +@attribute MethodNameContainsRETRIEV {true,false} +@attribute ParameterToInvokedSinkContainsSET {true,false} +@attribute SourceToReturnContainsDECODE {true,false} +@attribute ClassNameContainsRESPONSE {true,false} +@attribute ParameterToInvokedSinkContainsPUT {true,false} +@attribute MethodNameContainsCREAT {true,false} +@attribute MethodNameContainsLOGOUT {true,false} +@attribute ClassNameContains.IO. {true,false} +@attribute InvokedClassNameContainsSQL {true,false} +@attribute InvokedMethodNameContainsPUT {true,false} +@attribute ClassNameContainsSANITI {true,false} +@attribute InvokedMethodNameContainsOPEN {true,false} +@attribute ParameterToInvokedSinkContainsDUMP {true,false} +@attribute ClassLinesCount numeric +@attribute MethodNameContainsLOGIN {true,false} +@attribute MethodNameContainsWRIT {true,false} +@attribute SourceToReturnContainsREQUEST {true,false} +@attribute ClassNameContainsBIND {true,false} +@attribute SourceToReturnContainsCREATE {true,false} +@attribute SourceToReturnContainsLOAD {true,false} +@attribute ParameterToInvokedSinkContainsUPDAT {true,false} +@attribute InvokedClassNameContains.NET. {true,false} +@attribute ClassNameContainsJDBC {true,false} +@attribute MethodLinesCount numeric +@attribute ClassNameContainsENCOD {true,false} +@attribute TotalMethodsInvokedCount numeric +@attribute InvokedMethodNameContainsGET {true,false} +@attribute MethodNameContainsOBJECT {true,false} +@attribute ParameterToInvokedSinkContainsEXECUT {true,false} +@attribute ClassNameContainsOAUTH {true,false} +@attribute ParameterToInvokedSinkContainsSTREAM {true,false} +@attribute ClassNameContainsSQL {true,false} +@attribute InvokedClassNameContainsWEB {true,false} +@attribute ClassNameContainsCONNECT {true,false} +@attribute MethodNameContainsHANDL {true,false} +@attribute ClassNameContainsVALID {true,false} +@attribute MethodNameContainsDISCONNECT {true,false} +@attribute ClassNameContainsAUTHEN {true,false} +@attribute InvokedMethodNameContainsCREATE {true,false} +@attribute MethodNameContainsNAME {true,false} +@attribute SourceToReturnContainsUNESCAPE {true,false} +@attribute MethodAccessModifier {PRIVATE,PUBLIC,PROTECTED,DEFAULT} +@attribute InvokedClassNameContainsDB {true,false} +@attribute ClassNameContainsVERIF {true,false} +@attribute ParameterFlowsToReturn {true,false} +@attribute MethodNameContainsSANITI {true,false} +@attribute InvokedClassNameContainsESCAP {true,false} +@attribute ClassNameContainsPAGE {true,false} +@attribute ClassNameContainsENCODER {true,false} +@attribute MethodNameContainsPRIVILEGE {true,false} +@attribute InvokedMethodNameContainsIS {true,false} +@attribute VariablesUsageCount numeric +@attribute InvokedMethodNameContainsCLOSE {true,false} +@attribute ClassNameContainsWEB {true,false} +@attribute MethodNameContainsLOG {true,false} +@attribute MethodInnerOrAnonymousClass {INNER_CLASS,ANONYMOUS_CLASS,None} +@attribute MethodNameContainsREQUEST {true,false} +@attribute ParameterToInvokedSinkContainsRUN {true,false} +@attribute InvokedMethodNameContainsHAS {true,false} +@attribute MethodsInvokedCount numeric +@attribute ClassNameContainsINPUT {true,false} +@attribute MethodNameContainsAUTHEN {true,false} +@attribute ParameterToInvokedSinkContainsLOG {true,false} +@attribute SourceToReturnContainsRED {true,false} +@attribute MethodNameContainsREPLAC {true,false} +@attribute InvokedMethodNameContainsON {true,false} +@attribute InvokedMethodNameContainsDELETE {true,false} +@attribute BranchingStatementCount numeric +@attribute MethodReturnType {String,Native,Custom,Others} +@attribute InvokedClassNameContainsSANITI {true,false} +@attribute ClassNameContainsREDIRECT {true,false} +@attribute MethodParametersTypes numeric +@attribute ClassNameContainsESCAP {true,false} +@attribute MethodNameContainsPARS {true,false} +@attribute InvokedClassNameContainsLOG. {true,false} +@attribute MethodNameContainsCHECK {true,false} +@attribute ParameterToInvokedSinkContainsPRINT {true,false} +@attribute ParameterToInvokedSinkContainsSEND {true,false} +@attribute MethodNameContainsREGEX {true,false} +@attribute ParameterToInvokedSinkContainsHANDL {true,false} +@attribute IsMethodImplicit {true,false} +@attribute MethodNameContainsRUN {true,false} +@attribute DefinedFunctionsInvokedCount numeric +@attribute ParameterToInvokedSinkContainsPARS {true,false} +@attribute InvokedMethodNameContainsSET {true,false} +@attribute ClassNameContainsOUTPUT {true,false} +@attribute MethodNameContainsDECOD {true,false} +@attribute ClassNameContainsCHECK {true,false} +@attribute ClassNameContains.NET {true,false} +@attribute ParameterToInvokedSinkContainsWRIT {true,false} +@attribute ClassAccessModifier {PRIVATE,PUBLIC,PROTECTED,DEFAULT} +@attribute ClassesInvokedCount numeric +@attribute MethodNameContainsUPDAT {true,false} +@attribute InvokedClassNameContainsENCOD {true,false} +@attribute ParameterAndReturnTypeMatch {true,false} +@attribute ClassModifier {STATIC,ABSTRACT,FINAL,DEFAULT} +@attribute ClassNameContainsHTML {true,false} +@attribute ParametersCount numeric +@attribute SourceToReturnContainsGET {true,false} +@attribute MethodNameContainsEXECUT {true,false} +@attribute MethodType {Getter,Setter,Constructor,None} +@attribute MethodNameContainsSEND {true,false} +@attribute MethodNameContainsSTREAM {true,false} +@attribute MethodNameContainsUNESCAP {true,false} +@attribute MethodModifier {FINAL,STATIC,ABSTRACT,SYNCHRONIZED,DEFAULT} +@attribute MethodNameContainsDUMP {true,false} +@attribute ClassNameContainsSECURITY {true,false} +@attribute MethodNameContainsVERIF {true,false} +@attribute InvokedClassNameContainsREGEX {true,false} +@attribute ClassNameContainsMANAGER {true,false} +@attribute IterationStatementsCount numeric +@attribute MethodNameContainsSTRIP {true,false} +@attribute InvokedClassNameContains.IO. {true,false} +@attribute ClassNameKeywordsCount numeric +@attribute MethodNameContainsSETHEADER {true,false} +@attribute MethodNameContainsUNBIND {true,false} +@attribute MethodNameContainsREDIRECT {true,false} + +@data +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,26,false,false,false,false,false,false,false,false,false,26,false,11,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,63,false,false,false,None,false,false,false,5,false,true,false,false,false,false,false,2,String,false,false,0,false,false,false,false,false,false,false,false,false,false,1,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,true,false,false,false,false,true,false,false,false,35,false,false,false,false,false,false,false,false,false,9,false,12,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,87,false,false,true,None,false,false,false,6,false,false,false,false,false,false,false,3,Others,false,false,0,false,false,false,false,false,false,false,false,false,false,2,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,64,false,false,false,false,false,false,false,true,false,29,false,19,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,164,false,false,false,None,false,false,false,7,false,false,false,false,false,false,false,8,Others,false,false,0,false,false,false,false,false,false,false,false,false,false,3,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,0,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,67,false,false,false,false,false,false,false,false,false,3,false,20,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,168,false,false,false,None,false,false,false,7,false,false,false,false,false,false,false,8,Others,false,false,0,false,false,false,false,false,false,false,false,false,false,4,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,73,false,false,false,false,false,false,false,false,false,6,false,21,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,182,false,false,false,None,false,false,false,8,false,false,false,false,false,false,false,8,Others,false,false,0,false,false,false,false,false,false,false,false,false,false,5,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,73,false,false,false,false,false,false,false,false,false,6,false,21,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,182,false,false,false,None,false,false,false,8,false,false,false,false,false,false,false,8,Others,false,false,0,false,false,false,false,false,false,false,false,false,false,5,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,5,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,true,false,false,false,false,78,false,false,false,false,false,false,false,false,true,5,false,22,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,192,false,false,false,None,false,false,false,9,false,false,false,false,false,true,false,8,Others,false,false,0,false,false,false,false,false,false,false,false,false,false,6,false,true,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,78,false,false,false,false,false,false,false,false,false,5,false,22,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,192,false,false,true,None,false,false,false,9,false,false,false,false,false,false,false,8,Others,false,false,0,false,false,false,false,false,false,false,false,false,false,6,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,78,false,false,false,false,false,false,false,false,false,5,false,22,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,192,false,false,true,None,false,false,false,9,false,false,false,false,false,false,false,8,Others,false,false,0,false,false,false,false,false,false,false,false,false,false,6,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,89,false,false,false,false,false,false,false,false,false,11,false,24,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,219,false,false,false,None,false,false,false,11,false,false,false,false,false,false,false,10,Native,false,false,0,false,false,false,false,false,false,false,false,false,false,7,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,0,false,true,1,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,95,false,false,false,false,false,false,false,false,false,6,false,26,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,233,false,false,false,None,false,false,false,11,false,true,false,false,false,false,false,10,Others,false,false,0,false,false,false,false,false,false,false,false,false,false,8,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,true,0,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,100,false,false,false,false,false,false,false,false,false,5,false,27,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,243,false,false,false,None,false,false,false,11,false,false,false,false,false,false,false,10,Others,false,false,0,false,false,false,false,false,false,false,false,false,false,9,false,false,false,false,false,false,false,PUBLIC,0,true,false,false,ABSTRACT,false,1,false,true,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,103,false,false,false,false,false,false,false,false,false,3,false,27,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,249,false,false,false,None,false,false,false,11,false,false,false,false,false,false,false,10,String,false,false,0,false,false,false,false,false,false,false,false,false,false,10,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,109,false,false,false,false,false,false,false,false,false,6,false,27,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,265,false,false,false,None,false,false,false,11,false,false,false,false,false,false,false,10,Others,false,false,0,false,true,false,false,false,false,false,false,false,false,11,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,117,false,false,false,false,false,false,false,false,false,8,false,29,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,283,false,false,false,None,false,false,false,12,false,false,false,false,false,false,false,10,String,false,false,0,false,false,false,false,false,false,false,false,false,false,12,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,123,false,false,false,false,false,false,false,false,false,6,false,30,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,298,false,false,false,None,false,false,false,13,false,false,false,false,false,false,false,10,Others,false,false,0,false,false,false,false,false,false,false,false,false,false,13,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,123,false,false,false,false,false,false,false,false,false,6,false,30,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,298,false,false,true,None,false,false,false,13,false,false,false,false,false,false,false,10,Others,false,false,0,false,false,false,false,false,false,false,false,false,false,13,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,123,false,false,false,false,false,false,false,false,false,6,false,30,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,298,false,false,false,None,false,false,false,13,false,false,false,false,false,false,false,10,Others,false,false,0,false,true,false,false,false,false,false,false,false,false,13,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,134,false,false,false,false,false,false,false,false,false,11,false,35,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,326,false,false,false,None,false,false,false,13,false,false,false,false,false,false,false,10,Others,false,false,0,false,false,false,false,false,false,true,false,false,false,14,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,true,false,false,false,166,false,false,false,false,false,false,false,false,false,32,false,40,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,413,false,false,false,None,false,false,false,15,false,false,false,false,false,false,false,18,Others,false,false,0,false,false,false,false,false,false,false,false,false,false,15,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,170,false,false,false,false,false,false,false,false,false,4,false,40,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,420,false,false,false,None,false,false,false,15,false,false,false,false,false,false,false,18,Others,false,false,0,false,false,false,false,false,false,false,false,false,false,16,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,176,false,false,false,false,false,false,false,false,false,6,false,41,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,435,false,false,false,None,false,false,false,15,false,false,false,false,false,false,false,18,Others,false,false,0,false,false,false,false,false,false,false,false,false,false,17,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,204,false,false,false,false,false,false,false,false,false,28,false,51,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,511,false,false,false,None,false,false,false,17,false,false,false,false,false,true,false,22,String,false,false,0,false,false,false,false,false,false,false,false,false,false,18,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,FINAL,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,true,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,true,false,true,false,false,false,false,false,204,false,false,false,false,false,false,false,false,false,22,false,52,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,569,false,false,false,None,false,false,false,17,false,false,false,false,false,false,false,26,Others,false,false,0,false,false,false,false,false,false,false,false,true,false,19,false,false,false,false,false,false,false,DEFAULT,0,false,false,true,DEFAULT,false,5,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,0,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,204,false,false,false,false,false,false,false,false,false,5,false,53,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,581,false,false,false,None,true,false,false,18,false,false,false,false,false,false,false,26,Others,false,false,0,false,false,false,false,false,false,false,false,false,false,20,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,232,false,false,false,false,false,false,false,false,true,28,false,68,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,670,false,false,false,None,false,false,false,18,false,false,false,false,false,false,false,28,String,false,false,0,false,false,false,false,false,false,false,false,false,false,21,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,232,false,false,false,false,false,false,false,false,false,28,false,68,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,670,false,false,true,None,false,false,false,18,false,false,false,false,false,false,false,28,Others,false,false,0,false,false,false,false,false,false,false,false,false,false,21,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,0,false,false,0,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,236,false,false,false,false,false,false,false,false,false,4,false,69,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,681,false,false,false,None,false,false,false,18,false,false,false,false,false,false,false,28,Others,false,false,0,false,false,false,false,false,false,false,false,false,true,22,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,247,false,false,false,false,false,false,false,false,false,11,false,70,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,708,false,false,false,None,false,false,false,19,false,false,false,false,false,false,false,29,Native,false,false,0,false,false,false,false,false,false,false,false,false,false,23,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,0,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,264,false,false,false,false,false,false,false,false,true,17,false,71,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,743,false,false,false,None,false,false,false,20,false,false,false,false,false,false,false,30,Others,false,false,0,false,false,false,false,false,false,false,false,false,false,24,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,true,false,true,false,false,false,false,false,false,false,false,false,270,false,false,false,false,false,false,false,false,false,6,false,73,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,756,false,false,false,None,false,false,false,22,false,false,false,false,false,true,false,30,Others,false,false,0,false,false,false,false,false,false,false,false,false,false,25,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,270,false,false,false,false,false,false,false,false,false,6,false,73,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,756,false,false,false,None,false,false,false,22,false,false,false,false,false,false,false,30,Others,false,false,0,false,false,false,false,false,false,false,false,false,false,25,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,None,false,false,false,ABSTRACT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,300,false,false,false,false,false,false,false,false,false,30,false,73,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,829,false,false,true,None,false,false,false,22,false,false,false,false,false,false,false,40,Native,false,false,1,false,false,false,false,false,false,false,false,false,false,26,false,false,false,false,false,false,false,DEFAULT,0,false,false,true,FINAL,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,366,false,false,false,false,false,false,false,false,false,66,false,91,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,1000,false,false,true,None,false,false,false,27,false,false,false,false,false,true,false,51,Others,false,false,1,false,false,false,false,false,false,false,false,false,false,27,false,false,false,false,false,false,false,PUBLIC,7,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,368,false,false,false,false,false,false,false,false,true,2,false,91,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,1003,false,false,true,None,false,false,false,27,false,false,false,false,false,false,false,51,Native,false,false,1,false,false,false,false,false,false,false,false,false,false,28,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,414,false,false,false,false,false,false,false,false,false,35,false,93,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,1106,false,false,false,None,false,false,false,29,false,false,false,false,false,false,false,59,Others,false,false,2,false,false,false,false,false,false,false,false,false,false,30,false,false,false,false,false,false,true,PUBLIC,2,false,false,true,DEFAULT,false,5,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,0,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,416,false,false,false,false,false,false,false,false,false,2,false,93,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,1109,false,false,false,None,false,false,false,29,false,false,false,false,false,false,false,59,Others,false,false,2,false,false,false,false,false,false,false,false,false,false,31,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,FINAL,false,0,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,430,false,false,false,false,false,false,false,false,false,8,false,95,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,1131,false,false,false,None,false,false,false,29,false,false,false,false,false,false,false,59,Others,false,false,2,false,false,false,false,false,false,false,false,false,false,33,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,443,false,false,false,false,false,false,false,false,false,13,false,101,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,1165,false,false,false,None,false,false,false,30,false,false,false,false,false,true,false,60,String,false,false,2,false,false,false,false,false,false,false,false,false,false,34,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,467,false,false,false,false,false,false,false,false,false,24,false,109,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,1230,false,false,false,None,false,false,false,37,false,false,false,false,false,false,false,62,String,false,false,2,false,false,false,false,false,false,false,false,false,false,35,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,true,false,false,false,false,false,false,true,false,false,false,false,481,false,false,false,false,false,false,false,false,true,5,false,110,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,1240,false,false,false,None,false,false,false,38,false,false,false,false,false,false,false,62,Others,false,false,2,false,false,false,false,false,false,false,false,false,false,38,false,true,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,2,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,490,false,false,false,false,false,false,false,false,false,5,false,111,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,1253,false,false,false,None,false,false,false,38,false,false,false,false,false,false,false,62,Others,false,false,2,false,false,false,false,false,false,false,false,false,true,40,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,498,false,false,false,false,false,false,false,false,false,8,false,113,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,1272,false,false,true,None,false,false,false,40,false,false,true,false,false,false,false,62,Others,false,false,2,false,false,false,false,false,false,false,false,false,false,41,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,502,false,false,false,false,false,false,false,false,false,4,false,113,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,1279,false,false,false,None,false,false,false,40,false,false,false,false,false,false,false,62,Others,false,false,2,false,false,false,false,false,false,false,false,false,false,42,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,514,false,true,false,false,false,false,false,false,false,12,false,117,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,1305,false,false,false,None,false,false,false,42,false,false,false,false,false,true,false,63,Others,false,false,3,false,false,false,false,false,false,false,false,false,false,43,false,false,true,false,false,false,true,PUBLIC,4,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,true,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,549,false,false,false,false,false,false,false,false,false,6,false,118,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,1319,false,false,false,None,false,false,false,42,false,false,false,false,false,false,false,63,Others,false,false,3,false,false,false,false,false,false,false,false,false,false,45,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,0,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,567,false,false,false,false,false,false,false,false,false,18,false,123,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,1370,false,false,false,None,false,false,false,43,false,false,false,false,false,false,false,65,Others,false,false,3,false,false,false,false,false,false,false,false,false,false,46,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,true,false,622,false,false,false,false,false,false,false,true,false,37,false,134,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,1467,false,false,false,None,false,false,false,48,false,false,false,false,false,false,false,73,Others,false,false,3,false,false,false,false,false,false,false,false,false,false,48,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,FINAL,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,638,false,false,false,false,false,false,false,false,true,16,false,136,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,1501,false,false,false,None,false,false,false,50,false,false,false,false,false,true,false,76,Others,false,false,4,false,false,false,false,false,false,false,false,false,false,49,false,true,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,2,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,642,false,false,false,false,false,false,false,false,false,4,false,137,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,1511,false,false,false,None,false,false,false,50,false,false,false,false,false,false,false,76,Others,false,false,4,false,false,false,false,false,false,false,false,false,false,50,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,1,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,652,false,false,false,false,false,false,false,false,false,10,false,137,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,1528,false,false,false,None,false,false,false,50,false,false,false,false,false,false,false,77,Others,false,false,4,false,false,false,false,false,false,false,false,false,false,51,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,672,true,false,false,false,false,false,false,false,false,20,false,143,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,1578,false,false,true,None,false,false,false,52,false,false,true,false,false,true,false,80,Others,false,false,4,false,false,false,false,false,false,false,false,false,false,52,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,true,0,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,677,false,false,false,false,false,false,false,false,false,5,false,144,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,1590,false,false,false,None,false,false,false,53,false,false,false,false,false,false,false,80,Others,false,false,4,false,false,false,false,false,false,false,false,false,false,53,false,false,false,false,false,false,false,PUBLIC,1,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,0,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,680,false,false,false,false,false,false,false,false,false,3,false,145,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,1597,false,false,false,None,false,false,false,54,false,false,false,false,false,false,false,80,String,false,false,4,false,false,false,false,false,false,false,false,false,false,54,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,680,false,false,false,false,false,false,false,false,false,3,false,145,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,1597,false,false,false,None,false,false,false,54,false,false,false,false,false,false,false,80,Others,false,false,4,false,false,false,false,false,false,false,false,false,false,54,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,684,false,false,false,false,false,false,false,false,false,4,false,145,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,1604,false,false,false,None,false,false,false,54,false,false,false,false,false,false,false,80,Others,false,false,4,false,false,false,false,false,false,false,false,false,false,55,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,684,false,false,false,false,false,false,false,false,false,4,false,145,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,1604,false,false,true,None,false,false,false,54,false,false,false,false,false,false,false,80,Others,false,false,4,false,false,false,false,false,false,false,false,false,false,55,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,true,false,false,false,720,false,false,false,false,false,false,false,false,false,36,false,158,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,1718,false,true,false,None,false,false,false,60,false,false,false,false,false,false,false,86,Others,false,false,4,false,false,false,false,false,false,false,false,false,false,56,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,726,false,false,false,false,false,false,false,false,true,6,false,160,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PROTECTED,true,false,false,false,false,false,false,false,false,1732,false,false,false,None,false,false,false,60,false,false,false,false,false,false,false,86,Others,false,false,4,false,false,false,false,false,false,false,false,false,false,57,false,false,false,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,0,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,true,false,false,true,false,true,false,false,false,744,false,true,false,false,false,false,false,false,false,18,false,164,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,1780,false,false,false,None,false,false,false,63,false,false,false,false,false,false,false,89,Others,false,false,5,false,false,false,false,false,false,false,false,false,false,58,false,false,true,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,3,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,0,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,748,false,false,false,false,false,false,false,false,false,4,false,164,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,1787,false,false,false,None,false,false,false,63,false,false,false,false,false,false,false,89,Others,false,false,5,false,false,false,false,false,false,false,false,false,false,59,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,748,false,false,false,false,false,false,false,false,false,4,false,164,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,1787,false,false,false,None,true,false,false,63,false,false,false,false,false,false,false,89,String,false,false,5,false,false,false,false,false,false,false,false,false,false,59,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,756,false,false,false,false,false,false,false,false,false,8,false,167,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,1808,false,false,false,None,false,false,false,66,false,false,false,false,false,false,false,89,Native,false,false,5,false,false,false,false,false,false,false,false,false,false,60,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,true,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,759,false,false,false,false,false,false,false,false,false,3,false,167,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,1814,false,false,false,None,false,false,false,66,false,false,false,false,false,false,false,89,String,false,false,5,false,false,false,false,false,false,false,false,false,false,61,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,1,0,1,1,1,0,1,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,762,true,false,false,false,false,false,false,false,false,3,false,167,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,1820,false,false,true,None,false,false,false,66,false,false,false,false,false,false,false,89,String,false,false,5,false,true,false,false,false,false,false,false,false,false,62,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,false,0,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,767,false,false,false,false,false,false,false,false,false,5,false,167,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,1834,false,false,false,None,false,false,false,66,false,false,false,false,false,false,false,89,Others,false,false,5,false,false,false,false,false,false,false,false,false,false,63,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,true,Setter,false,false,false,STATIC,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,788,false,false,false,false,false,false,false,false,true,21,false,172,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,true,1887,false,false,false,None,false,false,false,68,false,false,false,false,false,false,false,95,Native,false,false,5,false,false,false,false,false,false,false,false,false,false,64,false,false,false,false,false,false,false,PUBLIC,10,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,2,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,840,false,false,false,false,false,false,false,false,false,52,false,198,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,2029,false,false,false,None,false,false,false,83,false,true,false,false,false,false,false,100,String,false,false,5,false,false,false,false,false,false,false,false,false,false,65,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,true,1,false,false,false,false,false,false,false,false,false,false,false,false,false,849,false,false,false,false,false,false,false,false,false,9,false,201,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,2050,false,false,false,None,false,false,false,85,false,false,false,false,false,false,false,101,Others,false,false,5,false,false,false,false,false,false,false,false,false,false,66,false,false,false,false,false,false,true,DEFAULT,1,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,true,DEFAULT,false,false,false,false,false,0,false,true,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,849,false,false,false,false,false,false,false,false,false,9,false,201,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,2050,false,false,false,None,true,false,false,85,false,false,false,false,false,false,false,101,String,false,false,5,false,false,false,false,false,false,false,false,false,false,66,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,0,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,869,false,false,false,false,false,false,false,false,true,20,false,210,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,true,2108,false,false,false,None,false,false,false,86,false,false,false,false,false,false,false,102,Others,false,false,5,false,false,false,false,false,false,false,false,false,false,67,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,890,false,false,false,false,false,false,false,false,false,21,false,215,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,2164,false,false,false,None,false,false,false,88,false,false,false,false,false,false,false,108,Others,false,false,5,false,false,false,false,false,false,false,false,false,false,68,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,896,false,false,false,false,false,false,false,false,false,6,false,217,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,2180,false,false,false,None,false,false,false,90,false,false,false,false,false,true,false,108,Others,false,false,5,false,false,false,false,false,false,false,false,false,false,69,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,2,false,true,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,910,false,false,false,false,false,false,false,false,false,14,false,221,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,2212,false,false,false,None,false,false,false,90,false,false,false,false,false,false,false,109,String,false,false,5,false,false,false,false,false,false,false,false,false,false,70,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,927,false,false,false,false,false,false,false,false,false,17,false,226,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,2251,false,false,false,None,false,false,false,92,false,false,false,false,false,false,false,112,Native,false,false,5,false,false,false,false,false,false,false,false,false,false,71,false,false,false,false,false,true,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,940,false,false,false,false,false,false,false,false,false,13,false,231,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,true,false,false,false,false,false,false,2285,false,false,false,None,false,false,false,92,false,false,false,false,false,false,false,114,String,false,false,5,false,false,false,false,false,false,false,false,false,false,72,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,946,false,false,false,false,false,false,false,false,false,6,false,233,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,2300,false,true,false,None,false,false,false,94,false,false,false,false,false,false,false,114,Others,false,false,5,false,false,false,false,false,false,false,false,false,false,73,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,true,false,false,false,979,false,false,false,false,false,false,false,false,true,33,false,241,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PROTECTED,true,false,false,false,false,false,false,false,false,2389,false,false,false,None,false,false,false,99,false,false,false,false,false,false,false,120,String,false,false,5,false,false,false,false,false,false,false,false,false,false,74,false,false,false,false,false,false,false,PUBLIC,14,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,0,false,true,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,1013,false,false,false,false,false,false,false,false,false,34,false,246,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,2467,false,false,false,None,false,false,false,102,false,false,false,false,false,false,false,125,Native,false,false,5,false,false,false,false,false,false,false,false,false,false,75,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,true,false,true,false,1017,false,false,false,false,false,false,false,true,false,4,false,248,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,2476,false,false,false,None,false,false,false,104,false,false,false,false,false,true,false,125,Others,false,false,5,false,false,false,false,false,false,false,false,false,false,76,false,false,false,false,false,true,false,PUBLIC,2,false,false,false,FINAL,false,0,false,false,Setter,false,true,false,FINAL,false,false,false,false,false,0,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,1027,false,false,false,false,false,false,false,false,true,4,false,249,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,2485,false,false,false,None,false,false,false,105,false,false,false,false,false,false,false,125,Native,false,false,5,false,false,false,false,false,false,false,false,false,false,78,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,1033,false,false,false,false,false,false,true,false,true,6,false,251,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,2499,false,false,false,None,false,false,false,106,false,false,false,false,false,false,false,125,Others,false,false,5,false,false,false,false,false,false,false,false,false,false,79,false,false,false,false,false,false,false,PUBLIC,4,true,false,false,DEFAULT,false,2,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,0,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,1058,false,true,false,false,false,false,false,false,false,13,false,255,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,2528,false,false,false,None,false,false,false,108,false,false,false,false,false,true,false,126,Others,false,false,5,false,false,false,false,false,false,false,false,false,false,81,false,false,true,false,false,false,true,PUBLIC,4,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,1058,false,false,false,false,false,false,false,false,false,13,false,255,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,2528,false,false,false,None,false,false,false,108,false,false,false,false,false,false,false,126,Others,false,false,5,false,false,false,false,false,false,false,false,false,false,81,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,5,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,true,false,false,false,1112,false,false,false,false,false,false,false,false,false,26,false,262,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,2588,false,false,false,None,false,false,false,112,false,false,false,false,false,false,false,132,String,false,false,5,false,false,false,false,false,false,false,false,false,false,83,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,1140,false,true,false,false,false,false,false,false,false,3,false,262,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,2592,false,false,false,None,false,false,false,112,false,false,false,false,false,false,false,132,Others,false,false,5,false,false,false,false,false,false,false,false,false,false,86,false,false,true,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,1140,false,false,false,false,false,false,false,false,false,3,false,262,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,2592,false,false,false,None,true,false,false,112,false,false,false,false,false,false,false,132,Others,false,false,5,false,false,false,false,false,false,false,false,false,false,86,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,0,false,false,0,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,1146,false,false,false,false,false,false,false,false,false,6,false,263,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,2608,false,false,false,None,false,false,false,112,false,false,false,false,false,false,false,132,Others,false,false,5,false,false,false,false,false,false,false,false,false,false,87,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,1172,false,false,false,false,false,false,false,false,true,5,false,265,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,2621,false,false,false,None,false,false,false,113,false,false,false,false,false,false,false,132,Others,false,false,5,false,false,false,false,false,false,false,false,false,false,89,false,false,false,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,1172,false,false,false,false,false,false,false,false,false,5,false,265,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,2621,false,false,true,None,false,false,false,113,false,false,false,false,false,false,false,132,Others,false,false,5,false,false,false,false,false,false,false,false,false,false,89,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,true,false,false,false,false,false,false,false,1218,false,false,false,false,false,false,false,false,false,46,false,285,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,2739,false,true,false,None,false,false,true,120,false,false,false,false,false,true,false,141,String,false,false,5,false,false,false,false,false,false,false,false,false,false,90,false,false,false,false,false,false,false,PUBLIC,5,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,1231,false,false,false,false,false,false,false,false,false,13,false,288,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,2772,false,false,false,None,false,false,false,120,false,false,false,false,false,false,false,142,Others,false,false,5,false,false,false,false,false,false,false,false,false,false,91,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,1245,false,false,false,false,false,false,false,false,true,14,false,290,true,false,false,false,true,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,2806,false,false,false,None,false,false,false,122,false,false,false,false,false,true,false,143,Others,false,false,5,false,false,false,false,false,false,false,false,false,false,92,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,0,false,false,2,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,1245,false,false,false,false,false,false,false,false,false,56,false,313,true,false,false,false,false,false,false,false,false,false,false,true,true,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,2956,false,false,false,None,false,false,true,129,false,true,false,false,false,true,false,152,Others,false,false,5,false,false,false,false,false,false,false,false,false,false,93,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,ABSTRACT,false,1,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,true,false,false,true,false,false,false,false,1277,false,false,false,false,false,false,false,false,true,14,false,316,false,false,false,false,false,true,false,true,false,false,false,false,true,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,2992,false,false,false,None,false,false,false,132,false,false,false,false,false,true,false,152,Others,false,false,5,false,false,false,false,false,false,false,false,false,false,98,false,false,false,false,false,false,false,PUBLIC,6,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,1305,false,false,false,false,false,false,false,false,false,20,false,323,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PRIVATE,false,false,false,false,false,false,false,false,false,3052,false,false,false,None,false,false,false,134,false,false,false,false,false,false,false,155,String,false,false,5,false,false,false,false,false,false,false,false,false,false,100,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,1309,false,false,false,false,false,false,false,false,false,4,true,323,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,3061,false,false,false,None,false,false,false,134,false,false,false,false,false,false,false,155,String,false,false,5,false,false,false,false,false,false,false,false,false,false,101,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,0,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,1314,false,false,false,false,false,false,false,false,false,5,false,324,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,3071,false,false,false,None,false,false,false,134,false,false,false,false,false,false,false,155,Others,false,false,5,false,false,false,false,false,false,false,false,false,false,102,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,1318,false,false,false,false,false,false,false,false,false,4,false,324,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,3078,false,false,false,None,false,false,false,134,true,false,false,false,false,false,false,155,Others,false,false,5,false,false,false,false,false,false,false,false,false,false,103,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,1352,false,false,false,false,false,false,false,false,false,34,false,355,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,3190,false,false,false,None,true,false,false,159,false,false,false,false,false,true,false,155,Others,false,false,5,false,false,false,false,false,false,false,false,false,false,104,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,1352,false,false,false,false,false,false,false,false,false,34,false,355,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,3190,false,false,true,None,false,false,false,159,false,false,false,false,false,false,false,155,Others,false,false,5,false,false,false,false,false,false,false,false,false,false,104,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,1352,false,false,false,false,false,false,false,false,false,34,false,355,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,3190,false,false,false,None,false,false,false,159,false,false,false,false,false,false,false,155,Others,false,false,5,false,false,false,false,false,false,false,false,false,false,104,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,1365,false,false,false,false,false,false,false,false,false,13,false,359,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,3227,false,false,false,None,false,false,false,161,false,false,false,false,false,false,false,155,Others,false,false,5,false,false,false,false,false,false,false,true,false,false,105,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,1373,false,false,false,false,false,false,false,false,false,4,true,359,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,3236,false,false,false,None,false,false,false,161,false,false,false,false,false,false,false,155,String,false,false,5,false,false,false,false,false,false,false,false,false,false,107,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,0,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,1373,false,false,false,false,false,false,false,false,false,4,false,359,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,3236,false,false,true,None,false,false,false,161,false,false,false,false,false,false,false,155,Others,false,false,5,false,false,false,false,false,false,false,false,false,false,107,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,1431,false,true,false,false,false,false,false,false,false,12,false,360,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,3268,false,false,false,None,false,false,false,162,false,false,false,false,false,false,false,158,Others,false,false,6,false,false,false,false,false,false,false,false,false,false,110,false,false,false,false,false,false,true,PUBLIC,1,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,0,false,true,1,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,true,false,false,false,1459,false,false,false,false,false,false,false,false,false,28,false,376,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,3348,false,false,false,None,false,false,false,176,false,true,false,false,false,false,false,161,Others,false,false,6,false,false,false,false,false,false,false,false,false,false,111,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,1470,false,false,false,false,false,false,false,false,false,11,false,381,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,3378,false,false,false,None,false,false,false,178,false,false,false,false,false,false,false,162,Others,false,false,6,false,false,false,false,false,false,false,false,false,false,112,false,false,false,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,1497,false,false,false,false,false,false,false,false,false,14,false,384,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,3414,false,false,false,None,false,false,false,178,false,false,false,false,false,false,false,163,Others,false,false,6,false,false,false,false,false,false,false,false,false,false,114,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,5,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,1506,false,false,false,false,false,false,false,false,false,9,false,387,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,3436,false,false,false,None,false,false,false,181,false,false,false,false,false,false,false,164,Others,false,false,6,false,false,false,false,true,false,false,false,false,false,115,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,1511,false,false,false,false,false,false,false,false,false,5,false,389,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,3448,false,false,false,None,false,false,false,181,false,false,false,false,false,false,false,164,Others,false,false,6,false,false,false,false,false,false,false,false,false,false,116,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,1580,false,false,false,false,false,false,false,false,false,11,false,389,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,3474,false,false,false,None,false,false,false,181,false,false,false,false,false,false,false,167,Native,false,false,6,false,false,false,false,false,false,false,false,false,false,120,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,0,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,1585,false,false,false,false,false,false,false,false,false,5,false,391,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,3486,false,false,false,None,false,false,false,182,false,false,false,false,false,false,false,167,Native,false,false,6,false,false,false,false,false,false,false,false,false,false,121,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,1615,false,false,false,false,false,false,false,false,true,16,false,393,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,3520,false,false,false,None,false,false,false,184,false,false,false,false,false,true,false,170,Others,false,false,6,false,false,false,false,false,false,false,false,false,false,123,false,true,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,1627,false,false,false,false,false,false,false,false,false,6,false,394,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,3535,false,false,false,None,false,false,false,184,false,false,false,false,false,false,false,170,Others,false,false,6,false,false,false,false,false,false,false,false,false,false,125,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,0,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,1627,false,false,false,false,false,false,false,false,false,6,false,394,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,3535,false,false,false,None,false,false,false,184,false,false,false,false,false,false,false,170,Others,false,false,6,false,false,false,false,false,false,false,false,false,false,125,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,0,false,false,1,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,1627,false,false,false,false,false,false,false,false,false,6,false,394,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,3535,false,false,false,None,false,false,false,184,false,false,false,false,false,false,false,170,Others,false,false,6,false,false,false,false,false,false,false,false,false,false,125,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,4,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,0,false,false,1,false,false,false +0,0,1,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,1633,false,false,false,false,false,false,false,false,false,6,false,396,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,3550,false,false,false,None,false,false,false,186,false,false,false,false,false,false,false,170,Others,false,false,6,false,false,false,false,false,false,false,false,false,false,126,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,false,false,false,false,false,1659,false,false,false,false,false,false,false,false,false,26,false,402,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,3615,false,false,false,None,false,false,false,191,false,false,false,false,false,true,false,172,Others,false,false,6,false,false,false,false,false,false,false,false,false,false,127,false,true,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,0,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,1687,false,false,false,false,false,false,false,false,true,28,false,411,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,3697,false,false,false,None,false,false,false,195,false,false,false,false,false,false,false,176,Others,false,false,6,false,false,false,false,false,false,false,false,false,false,128,false,true,false,false,false,false,false,PUBLIC,8,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,1758,false,false,false,false,false,false,false,false,false,71,false,439,true,false,false,false,false,false,true,false,true,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,3891,true,true,false,None,true,false,false,198,false,false,false,false,false,false,false,183,Others,false,false,6,false,false,false,false,false,false,false,false,false,false,129,false,false,false,false,false,false,false,PUBLIC,10,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,1774,false,true,false,false,false,false,false,false,false,16,false,445,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,3934,false,false,false,None,false,false,false,204,false,false,false,false,false,false,false,183,Others,false,false,6,false,false,false,false,false,false,false,false,false,false,130,false,false,false,false,false,false,true,PUBLIC,5,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,1782,false,false,false,false,false,false,false,false,false,8,false,447,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,3952,false,true,false,None,false,false,false,206,false,false,false,false,false,true,false,183,Others,false,false,6,false,false,false,false,false,false,false,false,false,false,131,false,true,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,3,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,1792,false,false,false,false,false,false,false,false,false,3,false,447,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,3958,false,false,false,None,false,false,false,206,false,false,false,false,false,false,false,183,String,false,false,6,false,false,false,false,false,false,false,false,false,false,134,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,1801,false,false,false,false,false,false,false,false,false,9,false,448,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,3984,false,false,true,None,false,false,false,206,false,false,false,false,false,false,false,184,String,false,false,6,false,false,false,false,false,false,false,false,false,false,135,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,1807,false,false,false,false,false,false,false,false,false,6,false,449,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,3996,false,false,false,None,false,false,false,206,false,false,false,false,false,false,false,184,Others,false,false,6,false,false,false,false,false,false,false,false,false,false,136,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,1838,false,false,false,false,false,false,false,false,false,31,false,452,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,4083,false,false,false,None,false,false,false,207,true,false,false,false,false,true,false,188,Native,false,false,7,false,false,false,false,false,false,false,false,false,false,137,false,false,false,false,false,false,false,PUBLIC,3,false,false,true,DEFAULT,false,3,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,0,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,1861,false,true,false,false,false,false,false,false,false,23,false,454,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,4133,false,false,false,None,false,false,false,207,false,false,false,false,false,false,false,190,Others,false,false,7,false,false,false,false,false,false,false,false,false,false,138,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,0,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,1877,false,false,false,false,false,false,false,false,true,16,false,456,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,4167,false,false,false,None,false,false,false,209,false,false,false,false,false,true,false,193,Others,false,false,7,false,false,false,false,false,false,false,false,false,false,139,false,true,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,0,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,true,1,false,false,false,false,false,false,false,false,false,false,false,false,false,1948,false,false,false,false,false,false,false,false,false,71,false,481,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,4317,false,false,false,None,false,false,false,222,false,false,false,false,false,false,false,215,Others,false,false,7,true,false,false,false,false,false,false,false,false,false,140,false,true,false,false,false,false,false,PUBLIC,12,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,true,STATIC,false,false,false,false,false,1,false,true,1,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,1960,false,false,false,false,false,false,false,false,false,6,false,483,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,4331,false,false,false,None,false,false,false,222,false,true,false,false,false,false,false,215,Others,false,false,7,false,false,false,false,false,false,false,false,false,false,142,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,true,1,false,false,0,false,false,false +0,0,0,0,1,0,0,0,0,1,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,1963,false,false,false,false,false,false,false,false,false,3,false,484,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,true,false,false,false,false,false,4339,false,false,false,None,false,false,false,223,false,false,false,false,false,false,false,215,String,false,false,7,false,false,false,false,false,false,false,false,false,false,143,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,1,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,1972,false,false,false,false,false,false,false,false,false,4,false,485,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,4348,false,false,false,None,true,false,false,224,false,false,false,false,false,false,false,215,String,false,false,7,false,false,false,false,false,false,false,false,false,false,145,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,1,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,1972,false,false,false,false,false,false,false,false,false,4,false,485,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,4348,false,false,true,None,false,false,false,224,false,false,false,false,false,false,false,215,Others,false,false,7,false,false,false,false,false,false,false,false,false,false,145,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,1,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,2003,false,false,false,false,false,false,false,false,false,31,false,498,true,false,false,false,true,false,false,false,false,false,false,false,true,false,false,PROTECTED,false,false,false,false,false,false,false,false,true,4426,false,false,false,None,true,false,false,231,false,false,false,false,false,false,true,221,Others,false,false,7,false,false,false,false,false,false,false,false,false,false,146,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,2,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,1,false,true,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,2003,false,false,false,false,false,false,false,false,false,4,false,499,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,4435,false,false,false,None,true,false,false,232,false,false,false,false,false,false,false,221,Others,false,false,7,false,false,false,false,false,false,false,false,false,false,149,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,1,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,2014,false,false,false,false,false,false,false,false,false,11,false,500,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,4457,false,false,false,None,false,false,false,232,false,false,false,false,false,false,false,221,String,false,false,7,false,false,false,false,false,false,false,false,false,false,150,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,7,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,1,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,2044,false,false,false,false,false,false,false,false,false,6,false,502,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,4472,false,false,false,None,false,false,false,234,false,false,false,false,false,false,false,221,String,false,false,7,false,false,false,false,false,false,false,false,false,false,152,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,1,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,2047,false,false,false,false,false,false,false,false,false,3,false,502,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,4478,false,false,false,None,false,false,false,234,false,false,false,false,false,false,false,221,Others,false,false,7,false,false,false,false,false,false,false,false,false,false,153,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,1,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,2058,false,false,false,false,false,false,false,false,false,6,false,503,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,4490,false,false,false,None,false,false,false,234,false,false,false,false,false,false,false,221,Others,false,false,7,false,false,false,false,false,false,false,false,false,false,155,false,false,false,false,false,false,false,PUBLIC,1,true,false,false,ABSTRACT,false,2,false,true,Setter,false,false,false,DEFAULT,false,false,false,false,false,1,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,2063,false,false,false,false,false,false,false,false,true,5,false,504,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,4500,false,false,false,None,false,false,false,235,false,false,false,false,false,false,false,221,Others,false,false,7,false,false,false,false,false,false,false,false,false,false,156,false,true,false,false,false,false,false,PUBLIC,1,false,false,false,ABSTRACT,false,1,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,1,false,false,1,false,false,false +1,1,0,0,1,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,2088,false,false,false,false,false,false,false,false,false,25,false,512,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,4575,false,true,false,None,true,false,false,236,false,false,false,false,false,false,false,224,String,false,false,8,false,false,false,false,false,false,false,false,false,false,157,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,1,false,false,1,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,2095,false,false,false,false,false,false,false,false,false,7,false,515,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,4592,false,false,false,None,false,false,false,236,false,false,false,false,false,false,false,224,String,false,false,8,false,false,false,false,false,false,false,false,false,false,158,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,1,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,2103,false,true,false,false,false,false,false,false,false,8,false,517,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,4613,false,false,false,None,false,false,false,238,false,false,false,false,false,false,false,224,Others,false,false,9,false,false,false,false,false,false,false,false,false,false,159,false,false,true,false,false,false,true,PUBLIC,2,false,false,false,DEFAULT,false,3,false,false,Setter,false,true,false,SYNCHRONIZED,false,false,false,false,false,1,false,true,1,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,true,false,false,false,false,false,false,2105,false,false,false,false,false,false,false,false,false,2,false,517,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,4615,false,false,true,None,false,false,false,238,false,false,false,false,false,false,false,224,Others,false,false,9,false,false,false,false,false,false,false,false,false,false,160,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,1,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,2153,false,false,false,false,false,false,false,false,false,48,false,521,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,4749,false,false,false,None,false,false,false,241,true,false,false,false,false,false,false,235,String,false,false,9,false,false,false,false,false,false,false,false,false,false,161,false,false,false,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,0,false,false,Setter,false,true,false,FINAL,false,false,false,false,false,2,false,true,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,true,0,false,false,false,false,false,false,false,false,false,false,false,false,false,2184,false,false,false,false,false,false,false,false,false,31,false,528,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,4821,false,false,false,None,false,false,false,241,false,false,false,false,false,false,false,245,String,false,false,9,false,false,false,false,false,false,false,false,false,false,162,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,true,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,2188,false,false,false,false,false,false,false,false,false,4,false,529,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,4831,false,false,false,None,false,false,false,242,false,false,false,false,false,false,false,245,Others,false,false,9,false,false,false,false,false,false,false,false,false,false,163,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,2211,false,false,false,false,false,false,false,false,false,23,false,534,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,4892,false,false,false,None,false,false,false,244,false,false,false,false,false,false,false,249,Others,false,false,9,false,false,false,false,false,false,false,false,false,false,164,false,false,true,false,false,false,false,PUBLIC,2,false,false,false,ABSTRACT,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,2,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,2217,false,false,false,false,false,false,true,false,true,6,false,536,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,4906,false,false,false,None,false,false,false,245,false,false,false,false,false,false,false,249,Others,false,false,9,false,false,false,false,false,false,false,false,false,false,165,false,false,false,false,false,false,false,PUBLIC,4,true,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,2222,false,false,false,false,false,false,false,false,false,5,false,537,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,4916,false,false,true,None,false,false,false,246,false,false,true,false,false,false,false,249,Others,false,false,9,false,false,false,false,false,false,false,false,false,false,166,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,2225,false,false,false,false,false,false,false,false,false,3,false,537,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,4922,false,false,true,None,false,false,false,246,false,false,false,false,false,false,false,249,Native,false,false,9,false,false,false,false,false,false,false,false,false,false,167,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,2229,false,false,false,false,false,false,false,false,false,4,false,538,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,4931,false,false,false,None,false,false,false,246,false,false,false,false,false,false,false,249,Native,false,false,9,false,false,false,false,false,false,false,false,false,false,168,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,2303,false,true,false,false,false,false,false,false,false,5,false,539,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,4941,false,false,false,None,false,false,false,247,false,false,false,false,false,false,false,250,Others,false,false,9,false,false,false,false,false,false,false,false,false,false,173,false,false,false,false,false,false,true,PUBLIC,1,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,2303,false,false,false,false,false,false,false,false,false,5,false,539,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,4941,false,false,true,None,false,false,false,247,false,false,false,false,false,false,false,250,Others,false,false,9,false,false,false,false,false,false,false,false,false,false,173,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,2319,false,false,false,false,false,false,false,false,false,4,false,539,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,4951,false,false,false,None,false,false,false,247,false,false,false,false,false,false,false,250,Others,false,false,9,false,false,false,false,false,false,false,false,false,false,176,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,2381,false,false,false,false,false,false,false,false,false,8,false,540,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,4971,false,false,false,None,false,false,false,247,false,false,false,false,false,false,false,250,Others,false,false,9,false,false,false,false,false,false,false,false,false,false,179,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,2395,false,false,false,false,false,false,false,false,false,14,false,544,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,5007,false,false,true,None,false,false,false,248,false,false,true,false,false,false,false,252,Others,false,false,9,false,false,false,false,false,false,false,false,false,false,180,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,2538,false,false,false,false,false,false,false,false,false,143,false,609,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,5382,true,false,false,None,false,false,true,262,false,false,false,false,false,true,false,280,Others,false,false,9,false,false,false,false,false,false,false,false,false,false,181,false,true,false,false,false,false,false,PUBLIC,11,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,true,2,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,true,false,2546,false,false,false,false,false,false,false,true,false,4,false,611,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,5391,false,false,false,None,false,false,false,263,false,false,false,false,false,true,false,280,Others,false,false,9,false,false,false,false,false,false,false,false,false,false,183,false,false,false,false,false,true,false,PUBLIC,2,false,false,false,FINAL,false,0,false,false,Setter,false,false,false,FINAL,false,false,false,false,false,2,false,false,1,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,2604,false,false,false,false,false,false,false,false,false,32,false,626,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,5474,false,false,false,None,false,false,false,265,false,true,false,false,false,false,false,283,String,false,false,9,false,false,false,false,false,false,false,false,false,false,185,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,2639,false,false,false,false,false,false,false,false,false,8,false,627,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,5495,false,false,false,None,false,false,false,265,false,false,false,false,false,false,false,283,Others,false,false,9,false,false,false,false,false,false,false,false,false,false,188,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,2661,false,false,false,false,false,false,false,false,false,17,false,633,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,5534,false,false,true,None,false,false,false,268,false,false,true,false,false,false,false,284,Others,false,false,9,false,false,false,false,false,false,false,false,false,false,190,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,5,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,1,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,2664,false,false,false,false,false,false,false,false,false,3,false,633,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,5540,false,true,false,None,true,false,false,268,false,false,false,false,false,false,false,284,String,false,false,9,false,false,false,false,false,false,false,false,false,false,191,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,2678,false,false,false,false,false,false,false,false,true,4,false,634,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,5549,false,false,false,None,false,false,false,269,false,false,false,false,false,false,false,284,Native,false,false,9,false,false,false,false,false,false,false,false,false,true,194,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,2683,false,false,false,false,false,false,false,false,false,5,false,635,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,5561,false,false,false,None,false,false,false,270,false,false,false,false,false,false,false,284,Others,false,false,9,false,true,false,false,false,false,false,false,false,false,195,true,false,false,false,false,false,false,DEFAULT,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,2683,false,false,false,false,false,false,false,false,false,5,false,635,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,5561,false,false,false,None,false,false,false,270,false,false,false,false,false,false,false,284,Others,false,false,9,false,false,false,false,false,false,false,false,false,false,195,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,4,false,false,None,false,false,false,ABSTRACT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,2718,false,false,false,false,false,false,false,false,false,35,false,640,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,5638,true,false,false,None,false,false,false,272,false,false,false,false,false,false,false,294,Others,false,false,10,false,false,false,false,false,false,false,false,false,false,196,false,false,false,false,false,false,true,PUBLIC,5,false,false,false,FINAL,false,4,false,false,Setter,false,true,false,STATIC,false,false,false,false,false,2,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,2828,false,false,false,false,false,false,false,false,true,110,false,668,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,true,5938,false,false,false,None,false,false,false,285,false,false,false,false,false,false,false,311,Others,false,false,10,false,false,false,false,false,false,false,false,false,false,197,false,true,false,false,false,false,false,PUBLIC,38,true,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,2833,false,false,false,false,false,false,false,false,false,5,false,669,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,5947,false,true,true,None,false,false,false,285,false,false,false,false,false,false,false,311,Others,false,false,10,false,false,false,false,false,false,false,false,false,false,198,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,2850,false,false,false,false,false,false,false,false,true,17,false,672,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,5991,false,false,false,None,false,false,false,286,false,false,false,false,false,false,false,314,Others,false,false,10,false,false,false,false,false,false,false,false,false,false,199,false,false,false,false,false,false,false,PUBLIC,6,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,2853,false,false,false,false,false,false,false,false,true,3,false,672,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,5997,false,false,false,None,false,false,false,286,false,false,false,false,false,false,false,314,Native,false,false,10,false,false,false,false,false,false,false,false,false,false,200,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +1,1,0,0,1,0,0,1,0,1,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,2860,false,false,false,false,false,false,false,false,false,7,false,674,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,6015,false,false,false,None,false,false,false,287,false,false,false,false,true,false,false,315,String,false,false,10,false,false,false,false,false,false,false,false,false,false,201,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,2866,false,false,false,false,false,false,false,false,true,6,false,676,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,6030,false,false,false,None,false,false,false,289,false,false,false,false,false,false,false,315,Others,false,false,10,false,false,false,false,false,false,false,false,false,false,202,false,true,false,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,2882,false,false,false,false,false,false,false,false,false,10,false,676,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,6058,false,false,false,None,false,false,false,289,false,false,false,false,false,false,false,315,Others,false,false,10,false,true,false,false,false,false,false,false,false,false,204,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,6,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,2882,false,false,false,false,false,false,false,false,false,10,false,676,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,6058,false,false,true,None,false,false,false,289,false,false,false,false,false,false,false,315,Others,false,false,10,false,false,false,false,false,false,false,false,false,false,204,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,2891,false,false,false,false,false,false,false,false,true,3,false,676,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,6064,false,false,false,None,false,false,false,289,false,false,false,false,false,false,false,315,Native,false,false,10,false,false,false,false,false,false,false,false,false,false,206,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,2936,false,false,false,false,false,false,false,false,false,45,false,685,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,6164,true,false,false,None,false,false,false,290,false,false,false,false,false,false,false,326,Native,false,false,10,false,false,false,false,false,false,false,false,false,false,207,false,false,false,false,false,false,false,PUBLIC,7,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,2939,false,false,false,false,false,false,false,false,false,3,false,685,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,6171,false,false,false,None,false,false,false,290,false,false,false,false,false,false,false,326,Others,false,false,10,false,false,false,false,false,false,false,false,false,false,208,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,2967,false,false,false,false,false,false,false,false,false,12,false,689,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,6205,false,false,false,None,false,false,false,292,false,false,false,false,false,false,false,326,Others,false,false,10,false,false,false,false,false,false,false,true,false,false,212,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3011,false,false,false,false,false,false,false,false,false,9,false,691,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,6231,false,false,false,None,false,false,false,293,false,false,false,false,false,true,false,326,Others,false,false,10,false,false,false,false,false,false,false,false,false,false,216,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,5,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,4,false,false,false,false,false,false,false,false,false,false,false,false,false,3026,false,false,false,false,false,false,false,false,false,15,false,698,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,6272,false,false,false,None,false,false,false,293,false,false,false,false,false,false,false,326,String,false,false,10,false,false,false,false,false,false,false,false,false,false,217,false,false,false,false,false,false,false,PUBLIC,2,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,true,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3026,false,false,false,false,false,false,false,false,false,15,false,698,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,6272,false,false,false,None,true,false,false,293,false,false,false,false,false,false,false,326,Others,false,false,10,false,false,false,false,false,false,false,false,false,false,217,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3026,false,false,false,false,false,false,false,false,false,15,false,698,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,6272,false,false,false,None,true,false,false,293,false,false,false,false,false,false,false,326,Others,false,false,10,false,false,false,false,false,false,false,false,false,false,217,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,3035,false,true,false,false,false,false,false,false,false,9,false,699,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,6294,false,false,false,None,false,false,false,294,false,false,false,false,false,false,false,326,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,218,false,false,true,false,false,false,true,PUBLIC,1,false,false,false,DEFAULT,false,3,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,2,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3035,false,false,false,false,false,false,false,false,false,9,false,699,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,6294,false,false,true,None,false,false,false,294,false,false,false,false,false,false,false,326,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,218,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,1,1,0,0,0,0,1,false,0,false,false,false,true,false,false,false,false,false,false,false,false,false,3053,false,false,false,false,false,false,false,false,false,18,false,703,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,6340,false,true,false,None,false,false,false,296,false,false,false,false,false,false,false,329,String,false,false,11,false,false,false,false,false,false,false,false,false,false,219,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3066,false,false,false,false,false,false,false,false,false,5,false,704,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,6352,false,false,false,None,true,false,false,297,false,false,false,false,false,false,false,329,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,222,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3095,false,false,false,false,false,false,false,false,false,7,false,705,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,6369,false,false,true,None,false,false,false,298,false,false,true,false,false,false,false,329,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,225,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3098,false,false,false,false,false,false,false,false,false,3,false,706,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,6375,false,false,true,None,false,false,false,299,false,false,false,false,false,false,false,329,String,false,false,11,false,false,false,false,false,false,false,false,false,false,226,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3113,false,false,false,false,false,false,false,false,false,15,false,711,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,6410,false,false,false,None,false,false,false,302,false,false,false,false,false,false,false,331,Others,false,false,11,false,false,false,false,false,false,true,false,false,false,227,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,STATIC,true,false,false,false,false,2,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3117,false,false,false,false,false,false,false,false,false,4,false,711,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,6417,false,true,false,None,false,false,false,302,false,false,false,false,false,false,false,331,Others,false,false,11,false,true,false,false,false,false,false,false,false,false,228,false,false,false,false,false,false,false,PUBLIC,0,true,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3122,false,false,false,false,false,false,false,false,false,5,false,711,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,6428,false,false,false,None,false,false,false,302,false,false,false,false,false,false,false,331,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,229,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,3124,false,false,false,false,false,false,false,false,true,2,false,711,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,6431,false,false,false,None,false,false,false,302,false,false,false,false,false,false,false,331,Native,false,false,11,false,false,false,false,false,false,false,false,false,false,230,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3139,false,false,false,false,false,false,false,false,false,15,false,715,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,6469,false,false,true,None,false,false,false,303,false,false,true,false,false,false,false,333,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,231,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3142,false,false,false,false,false,false,false,false,false,3,false,715,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,6475,false,true,false,None,false,false,false,303,false,true,false,false,false,false,false,333,Native,false,false,11,false,false,false,false,false,false,false,false,false,false,232,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,1,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,3152,false,false,false,false,false,false,false,false,false,6,false,717,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,6490,false,false,false,None,false,false,false,304,false,false,false,false,false,false,false,333,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,234,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,true,false,false,false,false,false,3171,false,true,false,false,false,false,false,false,false,19,false,721,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,true,6535,false,false,false,None,false,false,false,305,false,false,false,false,false,false,false,334,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,235,false,false,true,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,true,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,3196,false,false,false,false,false,false,false,false,true,25,false,731,true,false,false,false,false,true,false,false,false,false,false,false,false,true,false,PUBLIC,true,false,false,false,false,false,false,false,false,6604,false,false,false,None,false,false,false,308,false,false,false,false,false,false,false,336,String,false,false,11,false,false,false,false,false,false,false,false,false,false,236,false,false,false,false,false,false,false,PUBLIC,6,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,3260,false,false,false,false,false,false,false,false,false,64,false,756,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,6786,false,false,true,None,false,false,false,313,true,false,false,false,false,false,false,345,String,false,false,11,false,false,false,false,false,false,false,false,false,false,237,false,true,false,false,false,false,false,PUBLIC,12,false,false,true,DEFAULT,false,2,false,false,Setter,false,true,false,STATIC,false,false,false,true,false,2,false,true,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3265,false,false,false,false,false,false,false,false,false,5,false,758,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,6800,false,false,false,None,false,false,false,314,false,false,false,false,false,true,false,345,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,238,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3269,false,false,false,false,false,false,false,false,false,4,false,760,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,6809,false,false,false,None,true,false,false,316,false,false,false,false,false,false,false,345,String,false,false,11,false,false,false,false,false,false,false,false,false,false,239,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,1,0,0,0,0,1,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3285,false,false,false,false,false,false,false,false,false,16,false,766,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,6853,false,false,false,None,false,false,false,317,false,false,false,false,false,false,false,345,Native,false,false,11,false,false,false,false,false,false,false,false,false,false,240,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,true,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3285,false,false,false,false,false,false,false,false,false,16,false,766,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,6853,false,false,true,None,false,false,false,317,false,false,false,false,false,false,false,345,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,240,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3285,false,false,false,false,false,false,false,false,false,16,false,766,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,6853,false,false,true,None,false,false,false,317,false,false,false,false,false,false,false,345,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,240,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,4,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,3293,false,true,false,true,false,false,false,false,false,8,false,768,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,6873,false,false,false,None,false,false,false,318,false,false,false,false,false,false,false,345,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,241,false,false,false,false,false,false,true,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3293,false,false,false,false,false,false,false,false,false,8,false,768,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,6873,false,false,false,None,true,false,false,318,false,false,false,false,false,false,false,345,String,false,false,11,false,false,false,false,false,false,false,false,false,false,241,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3307,false,false,false,false,false,false,false,false,false,14,false,772,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,6910,false,false,true,None,false,false,false,319,false,false,true,false,false,false,false,347,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,243,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,3356,false,false,false,false,false,false,false,false,false,21,false,779,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,6965,false,false,false,None,false,false,false,323,false,false,false,false,false,false,false,349,Others,false,false,11,false,false,false,false,false,false,false,true,false,false,248,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3427,false,false,false,false,false,false,false,false,false,71,false,779,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,7218,false,false,false,None,false,false,false,323,false,false,false,false,false,false,false,349,Native,false,false,11,false,false,false,false,false,false,false,false,false,false,249,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,6,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,3427,false,false,false,false,false,false,false,false,false,71,false,779,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,7218,false,false,false,None,false,false,false,323,false,false,false,false,false,false,false,349,String,false,false,11,false,false,false,false,false,false,false,false,false,false,249,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,3508,false,false,false,false,false,false,false,false,false,7,false,781,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,7236,false,false,false,None,false,false,false,323,false,false,false,false,false,false,false,349,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,255,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,true,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3525,false,false,false,false,false,false,false,false,false,13,false,786,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,7267,false,false,false,None,false,false,true,324,false,false,false,false,false,false,false,352,String,false,false,11,false,false,false,false,false,false,false,false,false,false,257,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,ABSTRACT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,3544,false,false,false,false,false,false,false,false,false,6,false,787,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,7282,false,false,false,None,false,false,false,325,false,false,false,false,false,false,false,352,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,259,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3552,false,false,false,false,false,false,false,false,false,8,true,788,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,7301,false,false,false,None,false,false,false,326,false,false,false,false,false,false,false,353,String,false,false,11,false,false,false,false,false,false,false,false,false,false,260,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,1,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3552,false,false,false,false,false,false,false,false,false,8,false,788,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,7301,false,false,false,None,false,false,false,326,false,false,false,false,false,false,false,353,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,260,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,None,false,false,false,ABSTRACT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,true,false,false,false,true,true,false,false,false,3569,false,false,false,false,false,false,false,false,true,8,false,792,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,7324,false,false,false,None,false,false,false,330,false,false,false,false,false,false,false,353,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,263,false,false,false,false,false,false,false,PUBLIC,6,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,3592,false,false,false,false,false,false,false,false,false,4,false,792,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,7334,false,false,false,None,false,false,false,330,false,false,false,false,false,false,false,353,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,266,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,true,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3652,false,false,false,false,false,false,false,false,false,60,false,825,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,7500,false,false,false,None,false,false,false,330,false,false,false,false,false,false,false,364,String,false,false,11,false,false,false,false,false,false,false,false,false,false,267,false,false,false,true,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,true,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,3691,false,true,false,false,false,false,false,false,false,39,false,831,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,7583,false,false,false,None,false,false,false,330,false,false,false,false,false,false,false,370,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,268,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,3715,false,false,false,false,false,false,false,false,true,7,false,832,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,7599,false,false,false,None,false,false,false,331,false,false,false,false,false,false,false,370,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,270,false,true,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,3,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +1,1,0,0,1,0,0,1,1,1,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3751,false,false,false,false,false,false,false,false,false,36,false,848,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,PUBLIC,false,false,true,false,false,false,false,false,false,7700,false,false,false,None,false,false,false,331,false,false,false,false,true,false,false,378,String,false,false,11,false,false,false,false,false,false,false,false,false,false,271,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3756,false,false,false,false,false,false,false,false,false,5,false,850,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,7711,false,false,false,None,false,false,false,331,false,false,false,false,false,false,false,378,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,272,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,3777,false,false,false,false,false,false,false,false,false,21,false,857,true,false,false,false,false,false,true,false,true,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,7759,false,true,false,None,false,false,false,336,false,false,false,false,false,true,false,380,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,273,false,false,false,false,false,false,false,PUBLIC,6,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,3782,false,false,false,false,false,false,false,false,true,5,false,859,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,true,7771,false,false,false,None,false,false,false,337,false,false,false,false,false,false,false,380,Native,false,false,11,false,false,false,false,false,false,false,false,false,false,274,false,false,false,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3793,false,false,false,false,false,false,false,false,false,11,false,864,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,7797,false,false,false,None,false,false,false,339,false,false,false,false,false,false,false,380,String,false,false,11,false,false,false,false,false,false,false,false,false,false,275,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,true,0,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,3811,false,false,false,false,false,false,false,false,false,6,false,866,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,7811,false,false,false,None,false,false,false,339,false,true,false,false,false,false,false,380,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,278,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,true,2,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3811,false,false,false,false,false,false,false,false,false,6,false,866,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,7811,false,false,false,None,true,false,false,339,false,false,false,false,false,false,false,380,String,false,false,11,false,false,false,false,false,false,false,false,false,false,278,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3820,false,true,false,false,false,false,false,false,false,9,false,867,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,7830,false,false,true,None,false,false,false,340,false,false,false,false,false,false,false,382,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,279,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,3877,false,false,false,false,false,false,false,false,false,57,false,889,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,7974,false,false,false,None,true,false,false,349,false,true,false,false,false,true,false,395,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,280,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,3883,false,false,false,false,false,false,false,false,true,6,false,890,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,7989,false,false,false,None,false,false,false,350,false,false,false,false,false,false,false,395,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,281,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,3886,false,false,false,false,false,false,false,false,false,3,false,890,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,7993,false,false,false,None,false,false,false,350,false,false,false,false,false,false,false,395,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,282,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3895,false,false,false,false,false,false,false,false,false,9,false,895,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,8016,false,true,false,None,false,false,false,351,false,false,false,false,false,false,false,395,String,false,false,11,false,false,false,false,false,false,false,false,false,false,283,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,3905,false,false,false,false,false,false,false,false,false,10,false,897,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,8041,false,false,false,None,false,false,false,351,false,false,false,false,false,false,false,396,Native,false,false,11,false,false,false,false,false,false,false,false,false,false,284,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3917,false,false,false,false,false,false,false,false,false,4,true,897,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,8050,false,false,false,None,false,false,false,351,false,false,false,false,false,false,false,396,String,false,false,11,false,false,false,false,false,false,false,false,false,false,287,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,3923,false,false,false,false,false,false,false,false,false,6,false,898,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,8065,false,true,false,None,false,false,false,351,false,false,false,false,false,false,false,396,Others,false,false,11,false,false,false,false,false,false,false,false,false,true,288,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,3935,false,false,false,false,false,false,false,false,true,12,false,902,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,8093,false,false,false,None,false,false,false,354,false,false,false,false,false,false,false,398,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,289,false,true,false,false,false,false,false,PUBLIC,6,false,false,false,DEFAULT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,3966,false,false,false,false,false,false,false,false,false,31,false,910,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,8183,false,false,false,None,false,false,false,356,false,false,false,false,false,true,false,403,Native,false,false,11,false,false,false,false,false,false,false,false,false,false,290,false,false,false,false,false,false,false,PUBLIC,1,false,false,true,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,true,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,true,false,false,false,false,false,false,false,3975,false,false,false,false,false,false,false,false,false,9,false,911,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,8202,false,false,true,None,false,false,false,357,false,false,false,false,false,false,false,405,String,false,false,11,false,false,false,false,false,false,false,false,false,false,291,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,0,false,false,false +1,1,0,0,1,0,0,1,1,1,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,3989,false,false,false,false,false,false,false,false,false,7,false,913,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,8220,false,false,false,None,false,false,false,359,false,false,false,false,true,false,false,405,String,false,false,11,false,false,false,false,false,false,false,false,false,false,293,false,false,false,false,false,false,false,PUBLIC,2,false,false,true,FINAL,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,true,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,3993,false,true,false,false,false,false,false,false,false,4,false,914,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,8229,false,false,false,None,false,false,false,360,false,false,false,false,false,false,false,405,Native,false,false,11,false,false,false,false,false,false,false,false,false,false,294,false,false,true,false,false,false,true,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,true,false,SYNCHRONIZED,false,false,false,false,false,2,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,4024,false,false,false,false,false,false,false,false,true,5,false,916,true,true,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,8242,false,false,false,None,false,false,false,361,false,false,false,false,false,false,false,405,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,297,false,false,false,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,4035,false,false,false,false,false,false,false,false,false,5,false,916,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,8242,false,false,false,None,false,false,false,361,false,false,false,false,false,false,false,405,Native,false,false,11,false,false,false,false,false,false,false,false,false,false,299,false,false,false,false,false,false,false,PUBLIC,0,true,false,true,ABSTRACT,false,2,false,true,Setter,false,false,false,ABSTRACT,false,false,false,false,false,2,false,false,1,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,4035,false,false,false,false,false,false,false,false,false,5,false,916,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,8242,false,false,false,None,false,false,false,361,false,false,false,false,false,false,false,405,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,299,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,4064,false,false,false,false,false,false,false,false,false,14,false,920,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,8279,false,false,true,None,false,false,false,362,false,false,true,false,false,false,false,407,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,301,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,4081,false,false,false,false,false,false,false,false,false,17,false,926,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,true,8320,false,false,false,None,false,false,false,365,false,true,false,false,false,false,false,410,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,302,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,4085,false,false,false,false,false,false,false,false,true,4,false,927,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,8329,false,false,true,None,false,false,false,366,false,false,true,false,false,false,false,410,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,303,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,true,false,false,false,false,false,true,false,false,false,false,false,4209,false,false,false,false,false,false,false,false,false,89,false,948,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,8523,true,false,false,None,false,false,false,368,false,false,false,false,false,true,false,433,Native,false,false,11,false,false,false,false,false,false,false,false,false,false,306,false,false,false,false,false,false,false,PUBLIC,17,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,true,1,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,4217,false,false,false,false,false,false,false,false,false,8,false,950,false,false,false,false,false,false,false,false,false,false,false,true,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,8539,false,false,false,None,false,false,false,369,false,true,false,false,false,false,false,434,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,307,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,None,false,false,false,DEFAULT,false,true,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,4260,false,false,false,false,false,false,false,false,false,14,false,954,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,8575,false,false,true,None,false,false,false,370,false,false,true,false,false,false,false,436,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,310,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,0,false,false,false,false,false,false,true,false,false,false,false,false,false,4368,false,false,false,false,false,false,false,false,false,88,false,996,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,8804,false,false,true,None,false,false,false,376,false,false,true,false,false,true,true,450,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,312,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,true,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,4379,false,false,false,false,false,false,false,false,false,2,false,996,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,8806,false,false,false,None,false,false,false,376,false,false,false,false,false,false,false,450,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,313,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,4383,false,false,false,false,false,false,false,false,false,4,false,997,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,8816,false,false,false,None,false,false,false,377,false,false,false,false,false,false,false,450,Native,false,false,11,false,false,false,false,false,false,false,false,false,false,314,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,4410,false,false,false,false,false,false,false,false,false,14,false,999,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,8849,false,false,false,None,false,false,false,377,false,false,false,false,false,false,false,455,Native,false,false,11,false,false,false,false,false,false,false,false,false,false,316,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,4415,false,false,false,true,false,false,false,false,false,5,false,1000,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,8860,false,false,false,None,false,false,false,378,false,false,false,false,false,false,false,455,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,317,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,4428,false,false,false,false,false,false,false,false,false,13,false,1002,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,8901,false,false,true,None,false,false,false,379,false,false,true,false,false,false,false,456,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,318,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,8,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,4432,false,false,false,false,false,false,false,false,false,4,false,1003,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,8910,false,false,false,None,false,false,false,380,false,false,false,false,false,false,false,456,String,false,false,11,false,false,false,false,false,false,false,false,false,false,319,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,4461,false,false,false,false,false,false,false,false,false,6,false,1004,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,8925,false,false,false,None,false,false,false,380,false,false,false,false,false,false,false,456,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,323,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,0,false,false,false +0,1,0,0,0,0,0,1,1,0,0,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,4467,false,false,false,false,false,false,false,false,false,6,false,1006,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,8943,false,true,false,None,false,false,false,382,false,false,false,false,false,true,false,456,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,324,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,4481,false,false,false,false,false,false,false,false,false,14,false,1010,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,8979,false,false,true,None,false,false,false,383,false,false,true,false,false,false,false,458,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,328,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,4546,false,true,false,false,false,false,false,false,false,26,false,1013,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9025,false,false,false,None,false,false,false,384,false,false,false,false,false,false,false,461,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,330,false,false,false,false,false,false,true,PUBLIC,2,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,true,false,false,false,false,false,false,false,false,false,4558,false,false,false,false,false,false,false,false,false,6,false,1015,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9038,false,false,false,None,false,false,false,386,false,false,false,false,false,true,false,461,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,332,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,true,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,4562,false,false,false,false,false,false,false,false,false,4,false,1015,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9046,false,false,false,None,false,false,false,386,false,false,false,false,false,false,false,461,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,333,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,FINAL,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,4575,false,true,false,false,false,false,false,false,false,13,false,1018,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,9076,false,false,true,None,false,false,false,388,false,false,false,false,false,false,false,463,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,334,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,4582,false,false,false,false,false,false,false,false,false,7,false,1018,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9094,false,false,false,None,false,false,false,388,false,false,false,false,false,false,false,464,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,335,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,4605,false,true,false,false,false,false,false,false,false,23,false,1026,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,9158,false,false,false,None,false,false,false,389,false,false,false,false,false,false,false,466,Others,false,false,11,false,false,false,false,false,false,false,false,false,false,336,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,4641,false,false,false,false,false,false,false,false,true,4,false,1027,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,9167,false,false,false,None,false,false,false,390,false,false,false,false,false,false,false,466,Native,false,false,11,false,false,false,false,false,false,false,false,false,false,342,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,true,false,false,false,false,true,false,false,false,4666,false,false,false,false,false,false,false,false,false,25,false,1036,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9234,false,false,true,None,false,false,false,395,true,false,false,false,false,false,false,469,Native,false,false,12,false,false,false,false,false,false,false,false,false,false,343,false,false,false,false,false,false,false,DEFAULT,1,false,false,true,DEFAULT,false,3,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,2,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,4670,false,false,false,false,false,false,false,false,false,4,false,1037,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9244,false,false,false,None,false,false,false,395,false,false,false,false,false,false,false,469,Native,false,false,12,false,false,false,false,false,false,false,false,false,false,344,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,4686,false,false,false,false,false,false,false,false,false,4,true,1037,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,9253,false,false,false,None,false,false,false,395,false,false,false,false,false,false,false,469,String,false,false,12,false,false,false,false,false,false,false,false,false,false,348,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,4691,false,false,false,false,false,false,false,false,false,5,false,1037,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9267,false,false,false,None,false,false,false,395,false,false,false,false,false,false,false,469,String,false,false,12,false,false,false,false,false,false,false,false,false,false,349,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,4710,false,false,false,false,false,false,false,false,false,16,false,1041,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9311,false,false,false,None,false,false,false,396,false,false,false,false,false,false,false,470,Others,false,false,12,false,false,false,false,false,false,false,false,false,false,351,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,4710,false,false,false,false,false,false,false,false,false,16,false,1041,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9311,false,false,false,None,false,false,false,396,false,false,false,false,false,false,false,470,Others,false,false,12,false,false,false,false,false,false,false,false,false,false,351,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,4,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,4747,false,false,false,false,false,false,true,false,true,6,false,1043,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,9325,false,false,false,None,false,false,false,397,false,false,false,false,false,false,false,470,Others,false,false,12,false,false,false,false,false,false,false,false,false,false,355,false,false,false,false,false,false,false,PUBLIC,4,true,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,4794,false,false,false,false,false,false,false,false,false,18,false,1049,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,9367,false,false,true,None,false,false,false,400,false,false,true,false,false,false,false,471,Others,false,false,12,false,false,false,false,false,false,false,false,false,false,359,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,6,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,4834,false,false,false,false,false,false,false,false,true,4,false,1050,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,9376,false,false,false,None,false,false,false,401,false,false,false,false,false,false,false,471,Native,false,false,12,false,false,false,false,false,false,false,false,false,false,366,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,4860,false,false,false,false,false,false,false,false,false,26,false,1051,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9450,false,false,true,None,false,false,false,401,false,false,false,false,false,false,false,471,Others,false,false,12,false,false,false,false,false,false,false,false,false,false,367,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,11,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,4898,false,false,false,false,false,false,false,false,true,14,false,1052,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PROTECTED,true,false,false,false,false,false,false,false,false,9494,false,false,false,None,false,false,false,402,false,false,false,false,false,false,false,471,Others,false,false,13,false,false,false,false,false,false,false,false,false,false,370,false,true,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,true,false,false,false,4911,false,false,false,false,false,false,false,false,false,13,false,1056,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,9524,false,false,false,None,false,false,false,405,false,false,false,false,false,false,false,471,Others,false,false,13,false,false,false,false,false,false,false,false,false,false,371,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,true,0,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,4915,false,false,false,false,false,false,false,false,false,4,false,1057,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,9533,false,false,false,None,false,false,false,406,false,false,false,false,false,true,false,471,Others,false,false,13,false,false,false,false,false,false,false,false,false,false,372,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,4936,false,false,false,false,false,false,false,false,false,7,false,1058,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9550,false,false,false,None,false,false,false,407,false,false,false,false,false,false,false,471,Others,false,false,13,false,false,false,false,false,false,false,false,false,false,375,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,4996,false,false,false,false,false,false,false,false,false,13,false,1062,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,9579,false,false,true,None,false,false,false,408,false,false,true,false,false,false,false,472,Others,false,false,13,false,false,false,false,false,false,false,false,false,false,380,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,5021,false,false,false,false,false,false,false,false,false,25,false,1065,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,9634,false,false,false,None,false,false,false,410,false,false,false,false,false,false,false,476,String,false,false,13,false,false,false,false,false,false,false,false,false,false,381,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,5074,false,false,false,false,false,false,false,false,false,9,false,1067,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9658,false,false,false,None,false,false,false,410,false,false,false,false,false,false,false,476,Others,false,false,13,false,false,false,false,false,false,false,false,false,false,386,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,5096,false,false,false,false,false,false,false,false,false,8,false,1070,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9678,false,false,false,None,false,false,false,410,false,false,false,false,false,false,false,476,String,false,false,13,false,false,false,false,false,false,false,false,false,false,389,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,false,true,false,false,false,false,true,false,false,false,5104,false,false,false,false,false,false,false,false,false,8,false,1072,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9696,false,true,false,None,true,false,false,411,false,false,false,false,false,false,false,476,Others,false,false,13,false,false,false,false,false,false,false,false,false,false,390,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,5112,false,false,false,false,false,false,false,false,false,4,false,1073,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,9704,false,false,false,None,false,false,false,412,false,false,false,false,false,true,false,476,Others,false,false,13,false,false,false,false,false,false,false,false,false,false,392,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,5115,false,false,false,false,false,false,false,false,false,3,false,1073,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9709,false,false,true,None,false,false,false,412,false,false,false,false,false,false,false,476,Native,false,false,13,false,false,false,false,false,false,false,false,false,false,393,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,5129,false,false,false,false,false,false,false,false,false,14,false,1082,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9747,false,false,false,None,false,false,false,416,false,false,false,false,false,false,false,477,String,false,false,13,false,false,false,false,false,false,false,false,false,false,394,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,5129,false,false,false,false,false,false,false,false,false,14,false,1082,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9747,false,false,true,None,false,false,false,416,false,false,false,false,false,false,false,477,Others,false,false,13,false,false,false,false,false,false,false,false,false,false,394,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,true,false,true,false,false,false,false,false,false,false,false,false,5134,false,false,false,false,false,false,false,false,false,5,false,1083,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9757,false,false,false,None,false,false,false,417,false,false,false,false,false,false,false,477,Others,false,false,13,false,false,false,false,false,false,false,false,false,false,395,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,5140,false,false,false,false,false,false,false,false,false,6,false,1085,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9771,false,false,false,None,false,false,false,418,true,false,false,false,false,false,false,477,Native,false,false,14,false,false,false,false,false,false,false,false,false,false,396,false,false,false,false,false,false,false,DEFAULT,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,2,false,true,0,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,5148,false,false,false,false,false,false,false,false,false,8,false,1086,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9787,false,false,false,None,false,false,false,418,false,false,false,false,false,false,false,478,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,397,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,true,false,false,false,false,false,false,false,5148,false,false,false,false,false,false,false,false,false,8,false,1086,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9787,false,false,false,None,false,false,false,418,false,false,false,false,false,false,false,478,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,397,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,true,2,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,5158,false,false,false,false,false,false,false,false,false,5,false,1086,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9801,false,false,false,None,false,false,false,418,false,false,false,false,false,false,false,478,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,399,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,true,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,5200,false,false,false,false,false,false,false,false,true,4,false,1087,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,9809,false,false,false,None,false,false,false,418,false,false,false,false,false,false,false,478,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,403,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,5203,false,false,false,false,false,false,false,false,false,3,false,1087,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9815,false,false,false,None,false,false,false,418,false,false,false,false,false,false,false,478,String,false,false,14,false,false,false,false,false,false,false,false,false,false,404,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,FINAL,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,5333,false,false,false,false,false,false,false,false,false,6,false,1087,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9829,false,false,false,None,false,false,false,418,false,false,false,false,false,false,false,478,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,408,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,5386,false,false,false,false,false,false,false,false,false,4,false,1087,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9839,false,false,false,None,false,false,false,418,false,false,false,false,false,false,false,478,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,414,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,5417,false,false,false,false,false,false,false,false,false,31,false,1107,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9926,false,false,false,None,false,false,false,418,false,false,false,false,false,false,false,478,String,false,false,14,false,false,false,false,false,false,false,false,false,false,415,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,5433,false,false,false,false,false,false,false,false,false,5,false,1108,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9936,false,false,false,None,false,false,false,418,false,false,false,false,false,false,false,478,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,417,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,5444,false,false,false,false,false,false,false,false,false,11,false,1112,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9963,false,false,false,None,false,false,false,421,false,false,false,false,false,true,false,479,String,false,false,14,false,false,false,false,false,false,false,false,false,false,418,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,ABSTRACT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,5448,false,false,false,false,false,false,false,false,false,4,false,1112,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9970,false,false,false,None,false,false,false,421,false,false,false,false,false,false,false,479,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,419,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,true,false,true,false,false,false,false,false,false,false,false,false,5471,false,false,false,false,false,false,false,false,false,6,false,1114,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,9983,false,false,false,None,false,false,false,423,false,false,false,false,false,true,false,479,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,423,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,5533,false,false,false,false,false,false,false,false,false,9,false,1117,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,10004,false,false,false,None,false,false,false,424,false,false,false,false,false,false,false,479,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,429,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,5542,false,false,false,false,false,false,false,false,false,9,false,1117,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,10033,false,false,false,None,false,false,false,424,false,false,false,false,false,false,false,479,Native,false,false,14,false,false,false,false,false,false,false,false,false,false,430,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,5580,false,true,false,false,false,false,false,false,false,29,false,1123,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,10112,false,false,true,None,false,false,false,429,false,false,false,false,false,false,false,481,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,432,false,false,false,false,false,false,false,PUBLIC,5,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,true,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,5587,false,false,false,false,false,false,false,false,false,7,false,1125,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,10127,false,false,false,None,false,false,false,430,false,false,false,false,false,false,false,481,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,433,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,2,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,5598,false,false,false,false,false,false,false,false,false,7,false,1125,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,10127,false,false,false,None,false,false,false,430,false,false,false,false,false,false,false,481,Native,false,false,14,false,false,false,false,false,false,false,false,false,false,435,false,false,false,false,false,false,false,PUBLIC,0,true,false,true,ABSTRACT,false,2,false,true,Setter,false,false,false,ABSTRACT,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,5602,false,false,false,false,false,false,false,false,false,4,false,1126,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,10138,false,false,false,None,false,false,false,430,false,false,false,false,false,false,false,481,Others,false,false,14,false,true,false,false,false,false,true,false,false,false,436,false,false,false,false,false,false,false,DEFAULT,1,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,true,false,2,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,5683,false,false,false,false,false,false,false,false,false,21,false,1132,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,10189,false,false,true,None,false,false,false,433,false,false,true,false,false,false,false,484,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,442,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,6,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,1,true,0,false,false,false,false,false,false,false,false,false,false,false,false,false,5712,false,false,false,false,false,false,false,false,false,29,false,1150,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,10280,false,false,false,None,false,false,false,433,false,false,false,false,false,false,false,488,String,false,false,14,false,true,false,false,false,false,false,false,false,false,443,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,true,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,5744,false,false,false,false,false,false,false,false,false,32,false,1164,true,false,false,false,false,false,false,false,true,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,10363,false,false,false,None,false,false,false,436,false,false,false,false,false,true,false,491,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,444,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,0,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,5748,false,false,false,false,false,false,false,false,false,4,false,1166,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,10370,false,true,false,None,false,false,false,438,false,false,false,false,false,false,false,491,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,445,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,5762,false,false,false,false,false,false,false,false,false,14,false,1170,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,10410,false,false,false,None,false,false,false,439,false,false,false,false,false,false,false,492,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,446,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,5806,false,false,false,false,false,false,false,false,true,4,false,1171,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,10419,false,false,false,None,false,false,false,440,false,false,false,false,false,true,false,492,Native,false,false,14,false,false,false,false,false,false,false,false,false,false,454,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,5824,false,false,false,false,false,false,false,false,false,5,false,1172,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,10431,false,false,false,None,true,false,false,441,false,false,false,false,false,false,false,492,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,458,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,5842,false,false,false,false,false,false,false,false,false,18,false,1178,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,10480,false,false,false,None,false,false,false,443,false,false,false,false,false,false,false,494,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,459,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,true,false,false,false,false,false,false,false,false,false,5871,false,false,false,false,false,false,false,false,false,6,false,1180,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,10493,false,false,false,None,false,false,false,444,false,false,false,false,false,true,false,494,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,464,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,5924,false,false,false,false,false,false,false,false,true,16,false,1184,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,DEFAULT,true,false,false,false,false,false,false,false,true,10549,false,false,false,None,false,false,false,447,false,false,false,false,false,true,false,495,Others,false,false,14,false,true,false,false,false,false,false,false,false,false,469,true,false,false,false,false,false,false,PUBLIC,8,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,5940,false,false,false,false,false,false,false,false,false,8,true,1185,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,10568,false,false,false,None,false,false,false,448,false,false,false,false,false,false,false,496,String,false,false,14,false,false,false,false,false,false,false,false,false,false,471,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,5947,false,true,false,false,false,false,false,false,false,7,false,1187,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,10583,false,false,false,None,false,false,false,448,false,false,false,false,false,false,false,496,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,472,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,true,false,false,false,false,true,false,false,false,5964,false,false,false,false,false,false,false,false,false,8,false,1188,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,10605,false,false,true,None,false,false,false,449,false,false,false,false,false,false,false,497,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,474,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,6044,false,true,false,false,false,false,false,false,false,15,false,1190,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,10630,false,false,false,None,false,false,false,451,false,false,false,false,false,false,false,498,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,477,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,true,1,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,6044,false,false,false,false,false,false,false,false,false,9,false,1192,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,10651,false,false,false,None,false,false,false,452,false,false,false,false,false,false,false,498,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,479,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,true,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,6074,false,false,false,false,false,false,false,false,false,9,false,1194,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,10674,false,false,false,None,false,false,false,452,false,false,false,false,false,false,false,498,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,483,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,6094,false,false,false,false,false,false,false,false,false,4,true,1194,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,10683,false,false,false,None,false,false,false,452,false,false,false,false,false,false,false,498,String,false,false,14,false,false,false,false,false,false,false,false,false,false,488,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,1,false,false,false +1,1,0,0,0,0,0,0,0,1,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,6099,false,false,false,false,false,false,false,false,false,5,false,1195,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,PUBLIC,false,false,false,true,false,false,false,false,false,10695,false,false,false,None,false,false,false,453,false,false,false,false,false,false,false,498,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,489,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,6099,false,false,false,false,false,false,false,false,false,5,false,1195,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,10695,false,false,true,None,false,false,false,453,false,false,false,false,false,false,false,498,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,489,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,6161,false,false,false,false,false,false,false,false,true,9,false,1196,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,10719,false,false,false,None,false,false,false,453,false,false,false,false,false,false,false,500,Native,false,false,14,false,false,false,false,false,false,false,false,false,false,495,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,6161,false,false,false,false,false,false,false,false,false,9,false,1196,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,10719,false,false,false,None,false,false,false,453,false,false,false,false,false,false,false,500,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,495,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,5,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,6166,false,false,false,false,false,false,false,false,false,5,false,1197,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,10729,false,false,false,None,false,false,false,454,false,false,false,false,false,false,false,500,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,496,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,true,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,6265,false,false,false,false,false,false,false,false,false,18,false,1203,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,10771,false,false,true,None,false,false,false,457,false,false,true,false,false,false,false,501,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,503,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,6,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,true,1,false,false,false,false,false,false,false,false,false,false,false,false,false,6383,false,false,false,false,false,false,false,false,false,118,false,1226,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,11095,false,false,false,None,false,false,false,459,false,false,false,false,false,false,false,526,Native,false,false,14,false,false,false,false,false,false,false,false,false,false,504,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,true,FINAL,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,6383,false,false,false,false,false,false,false,false,false,118,false,1226,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,11095,false,false,true,None,false,false,false,459,false,false,false,false,false,false,false,526,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,504,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,4,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,1,0,0,1,0,0,0,false,1,false,false,false,true,false,false,false,false,false,false,false,false,false,6383,false,false,false,false,false,false,false,false,false,118,false,1226,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,11095,false,false,false,None,false,false,false,459,false,false,false,false,false,false,false,526,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,504,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,true,false,false,ABSTRACT,false,false,false,false,false,2,false,false,0,false,false,true +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,6439,false,false,false,false,false,false,false,false,false,56,false,1232,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,11247,false,false,false,None,false,false,false,463,false,false,false,false,false,false,false,543,Others,false,false,14,false,false,false,false,false,false,false,false,false,false,505,false,false,false,false,false,false,false,DEFAULT,0,true,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,6449,false,false,false,false,false,false,false,false,false,10,false,1233,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,true,11269,false,true,false,None,false,false,false,463,false,false,false,false,false,false,false,546,Native,false,false,14,false,false,false,false,false,false,false,false,false,false,506,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,true,2,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,6508,false,false,false,false,false,false,false,false,true,17,false,1240,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,11313,false,false,false,None,false,false,false,466,false,false,false,false,false,false,false,546,Native,false,false,15,false,false,false,false,false,false,false,false,false,false,511,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,FINAL,false,false,false,false,false,2,false,true,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,6530,false,false,false,false,false,false,false,false,false,4,false,1241,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,11322,false,false,false,None,true,false,false,467,false,false,false,false,false,false,false,546,String,false,false,15,false,false,false,false,false,false,false,false,false,false,516,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,6553,false,false,false,false,false,false,false,false,false,3,true,1241,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,11328,false,false,false,None,false,false,false,467,false,false,false,false,false,false,false,546,String,false,false,15,false,false,false,false,false,false,false,false,false,false,522,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,6556,false,false,false,false,false,false,false,false,true,3,false,1241,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,11334,false,false,false,None,false,false,false,467,false,false,false,false,false,false,false,546,String,false,false,15,false,false,false,false,false,false,false,false,false,false,523,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,6565,false,false,false,false,false,false,false,false,false,5,false,1243,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,11344,false,true,false,None,false,false,false,469,false,false,false,false,false,false,false,546,Others,false,false,15,false,false,false,false,true,false,false,false,false,false,525,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,1,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,6639,false,false,false,false,false,false,false,false,false,22,false,1251,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,11397,false,false,false,None,false,false,false,471,false,true,false,false,false,false,false,547,String,false,false,15,false,false,false,false,false,false,false,false,false,false,527,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,true,false,false,false,false,true,false,false,false,6687,false,false,false,false,false,false,false,false,false,23,false,1260,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,11458,false,false,true,None,false,false,false,476,true,false,false,false,false,false,false,550,Native,false,false,16,false,false,false,false,false,false,false,false,false,false,529,false,false,false,false,false,false,false,DEFAULT,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,2,false,true,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,6691,false,false,false,false,false,false,false,false,false,5,false,1261,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,11470,false,false,false,None,true,false,false,477,false,false,false,false,false,false,false,550,String,false,false,16,false,false,false,false,false,false,false,false,false,false,535,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,1,0,0,0,0,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,6698,false,false,false,false,false,false,false,false,false,7,false,1262,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,11488,false,false,false,None,false,false,false,477,false,true,false,false,false,false,false,550,Native,false,false,16,false,false,false,false,false,false,false,false,false,false,536,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,6763,false,false,false,false,false,false,false,false,true,3,false,1262,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,11494,false,false,false,None,false,false,false,477,false,false,false,false,false,false,false,550,Native,false,false,16,false,false,false,false,false,false,false,false,false,false,543,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,6763,false,false,false,false,false,false,false,false,false,3,false,1262,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,11494,false,false,false,None,false,false,false,477,false,false,false,false,false,false,false,550,Others,false,false,16,false,false,false,false,false,false,false,false,false,false,543,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,6765,false,false,false,false,false,false,false,false,false,2,false,1262,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,11497,false,false,false,None,false,false,false,477,false,false,false,false,false,false,false,550,Native,false,false,16,false,false,false,false,false,false,false,false,false,true,544,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,FINAL,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,6803,false,false,false,false,false,false,false,false,false,38,false,1275,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,true,11588,false,false,false,None,false,false,false,477,false,false,false,false,false,false,false,556,Others,false,false,16,false,false,false,false,false,false,false,false,false,false,545,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,6803,false,false,false,false,false,false,false,false,false,38,false,1275,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,11588,false,false,false,None,false,false,false,477,false,false,false,false,false,false,false,556,Others,false,false,16,false,false,false,false,false,false,false,false,false,false,545,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,4,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,true,false,false,false,false,6852,false,false,false,false,false,false,false,false,true,5,false,1276,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,true,11598,false,false,false,None,false,false,false,478,false,false,false,false,false,false,false,556,Others,false,false,16,false,false,false,false,false,false,false,false,false,false,554,false,true,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,true,false,false,false,false,false,false,false,6852,false,false,false,false,false,false,false,false,false,5,false,1276,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,11598,false,false,false,None,false,false,false,478,false,false,false,false,false,false,false,556,Others,false,false,16,false,false,false,false,false,false,false,false,false,false,554,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,true,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,6983,false,false,false,false,false,false,false,false,true,21,false,1281,true,true,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,11657,false,false,false,None,false,false,false,482,false,false,false,false,false,true,false,559,Others,false,false,16,false,false,false,false,false,false,false,false,false,false,556,false,true,false,false,false,false,false,PUBLIC,10,true,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,2,false,false,2,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,6987,false,false,false,false,false,false,false,false,false,4,false,1281,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,11666,false,false,false,None,false,false,false,482,false,false,false,false,false,false,false,559,Native,false,false,16,false,false,false,false,false,false,false,false,false,false,557,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,true,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,7014,false,false,false,false,false,false,false,false,false,4,true,1281,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,11675,false,false,false,None,false,false,false,482,false,false,false,false,false,false,false,559,String,false,false,16,false,false,false,false,false,false,false,false,false,false,564,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,7021,false,false,false,false,false,false,false,false,false,7,false,1282,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,11693,false,false,false,None,false,false,false,483,true,false,false,false,false,false,false,559,Native,false,false,17,false,false,false,false,false,false,false,false,false,false,565,false,false,false,false,false,false,false,PUBLIC,1,false,false,true,DEFAULT,false,3,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,2,false,true,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,7092,false,false,false,false,false,false,false,false,true,12,false,1283,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,11722,false,false,false,None,false,false,false,484,false,false,false,false,false,false,false,563,Native,false,false,18,false,false,false,false,false,false,false,false,false,false,571,false,false,false,false,false,false,false,PUBLIC,1,false,false,true,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,true,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,7229,false,false,false,false,false,false,true,false,true,6,false,1285,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,11736,false,false,false,None,false,false,false,485,false,false,false,false,false,false,false,563,Others,false,false,18,false,false,false,false,false,false,false,false,false,false,574,false,false,false,false,false,false,false,PUBLIC,4,true,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,2,false,false,2,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,7229,false,false,false,false,false,false,false,false,false,6,false,1285,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,11736,false,false,false,None,false,false,false,485,false,false,false,false,false,false,false,563,Others,false,false,18,false,false,false,false,false,false,false,false,false,false,574,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,2,false,false,1,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,7229,false,false,false,false,false,false,false,false,false,6,false,1285,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,11736,false,false,false,None,false,false,false,485,false,false,false,false,false,false,false,563,String,false,false,18,false,false,false,false,false,false,false,false,false,false,574,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,7240,false,false,false,false,false,false,false,false,true,5,false,1287,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,11749,false,false,false,None,false,false,false,486,false,false,false,false,false,false,false,563,Others,false,false,18,false,false,false,false,false,false,false,false,false,false,576,false,false,false,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,7257,false,false,false,false,false,false,false,false,false,6,false,1288,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,11761,false,false,false,None,false,false,false,486,false,false,false,false,false,false,false,563,Others,false,false,18,false,false,false,false,false,false,false,false,false,false,579,false,false,false,false,false,false,false,PUBLIC,1,true,false,false,ABSTRACT,false,2,false,true,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,7271,false,false,false,false,false,false,false,false,false,15,false,1292,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,11799,false,false,true,None,false,false,false,487,false,false,true,false,false,false,false,565,Others,false,false,18,false,false,false,false,false,false,false,false,false,false,584,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,7287,false,false,false,false,false,false,false,false,false,16,false,1294,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,11844,false,false,false,None,false,false,false,488,false,false,false,false,false,true,false,569,Others,false,false,18,false,false,false,false,false,false,false,false,false,false,585,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,7304,false,false,false,false,false,false,false,false,false,17,false,1298,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,11883,false,false,false,None,false,false,true,488,false,false,false,false,false,false,false,575,Native,false,false,18,false,false,false,false,false,false,false,false,false,false,586,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,7444,false,false,false,false,false,false,false,false,true,3,false,1299,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,true,11889,false,false,false,None,false,false,false,488,false,false,false,false,false,false,false,575,Native,false,false,18,false,false,false,false,false,false,false,false,false,false,590,false,false,false,false,false,false,false,PUBLIC,2,true,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,7475,false,false,false,false,false,false,false,false,false,4,true,1299,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,11898,false,false,false,None,false,false,false,488,false,false,false,false,false,false,false,575,String,false,false,18,false,false,false,false,false,false,false,false,false,false,598,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,7490,false,false,false,false,false,false,false,false,false,4,false,1300,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,11905,false,false,false,None,false,false,false,489,false,false,false,false,false,false,false,575,Others,false,false,19,false,false,false,false,false,false,false,false,false,false,600,false,false,false,false,false,false,true,PUBLIC,1,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,7504,false,false,false,false,false,false,false,false,false,15,false,1304,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,11943,false,false,true,None,false,false,false,490,false,false,true,false,false,false,false,577,Others,false,false,19,false,false,false,false,false,false,false,false,false,false,606,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,7518,false,false,false,false,false,false,false,false,true,14,false,1306,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,11977,false,false,false,None,false,false,false,492,false,false,false,false,false,true,false,578,Native,false,false,19,false,false,false,false,false,false,false,false,false,false,607,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,true,false,7558,false,false,false,false,false,false,false,true,false,32,false,1318,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,12059,false,false,false,None,false,false,false,499,false,false,false,false,false,true,false,585,Others,false,false,19,false,false,false,false,false,false,false,false,false,false,610,false,false,false,false,false,true,false,PUBLIC,9,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,7562,false,false,false,false,false,false,false,false,false,4,false,1319,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,12068,false,false,false,None,true,false,false,500,false,false,false,false,false,false,false,585,String,false,false,19,false,false,false,false,false,false,false,false,false,false,616,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,7636,false,false,false,false,false,false,false,false,false,57,false,1348,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,true,12227,false,false,false,None,false,false,false,509,false,true,false,false,false,true,false,595,Others,false,false,19,false,false,false,false,false,false,false,false,false,false,618,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,7636,false,false,false,false,false,false,false,false,false,57,false,1348,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,12227,false,false,false,None,false,false,false,509,false,false,false,false,false,false,false,595,Others,false,false,19,false,false,false,false,false,false,false,false,false,false,618,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,7660,false,true,false,false,false,false,false,false,false,5,false,1349,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,12237,false,false,false,None,false,false,false,510,false,false,false,false,false,false,false,595,Others,false,false,19,false,false,false,false,false,false,false,false,false,false,620,false,false,true,false,false,false,true,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,7700,false,false,false,false,false,false,false,false,false,40,false,1365,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,12343,false,false,false,None,true,false,true,515,false,false,false,false,false,true,false,602,Others,false,false,19,false,false,false,false,false,false,false,false,false,false,621,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,7727,false,true,false,false,false,false,false,false,false,27,false,1367,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,12413,false,true,false,None,false,false,false,515,false,false,false,false,false,false,false,606,Others,false,false,20,false,false,false,false,false,false,false,false,false,false,622,false,false,true,false,false,false,false,DEFAULT,2,false,false,false,DEFAULT,false,3,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,2,false,true,1,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,7753,false,false,false,false,false,false,false,false,false,26,false,1371,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,12484,false,false,false,None,false,false,false,515,false,false,false,false,false,false,false,607,Others,false,false,20,false,false,false,false,false,false,false,false,false,false,623,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,1,0,0,0,0,1,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,7762,false,false,false,false,false,false,false,false,false,9,false,1372,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,PUBLIC,false,false,false,true,false,false,false,false,false,12502,false,false,false,None,false,false,false,515,false,false,false,false,false,false,false,608,String,false,false,20,false,false,false,false,false,false,false,false,false,false,624,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,true,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,7770,false,false,false,false,false,false,false,false,false,8,false,1373,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,12522,false,false,false,None,false,false,false,515,false,false,false,false,false,false,false,608,Others,false,false,20,false,false,false,false,false,false,false,false,false,false,625,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,FINAL,false,2,false,false,Setter,false,true,false,DEFAULT,false,true,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,true,false,false,false,true,true,false,false,false,7797,false,false,false,false,false,false,false,false,true,10,false,1378,true,true,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,12553,false,false,false,None,false,false,false,521,false,false,false,false,false,false,false,608,Others,false,false,20,false,false,false,false,false,false,false,false,false,false,629,false,false,false,false,false,false,false,PUBLIC,9,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,7805,false,false,false,false,false,false,false,false,false,4,false,1380,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,12562,false,false,false,None,true,false,false,523,false,false,false,false,false,false,false,608,String,false,false,20,false,false,false,false,false,false,false,false,false,false,631,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,2,false,false,false,false,false,false,false,true,false,false,false,false,false,7811,false,false,false,false,false,false,false,false,false,6,false,1383,true,true,false,false,false,false,false,false,false,true,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,12577,false,false,false,None,false,false,false,524,true,false,false,false,false,false,false,608,Others,false,false,20,false,false,false,false,false,false,false,false,false,false,632,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,2,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,7864,false,false,false,false,false,false,false,false,false,53,false,1390,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,12711,false,false,false,None,false,false,false,527,false,false,false,false,false,false,false,622,Native,false,false,20,false,false,false,false,false,false,false,false,false,false,633,false,true,false,false,false,false,false,PUBLIC,7,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,7882,false,false,false,false,false,false,false,false,true,4,false,1391,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,12720,false,false,false,None,false,false,false,528,false,false,false,false,false,false,false,622,Native,false,false,20,false,false,false,false,false,false,false,false,false,false,637,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Getter,true,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,true,false,false,false,false,false,false,true,false,false,false,false,7905,false,false,false,false,false,false,false,false,true,5,false,1392,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,12730,false,false,false,None,false,false,false,529,false,false,false,false,false,false,false,622,Others,false,false,20,false,false,false,false,false,false,false,false,false,false,642,false,true,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,7940,false,false,false,false,false,false,false,false,false,4,true,1392,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,12739,false,false,false,None,false,false,false,529,false,false,false,false,false,false,false,622,String,false,false,20,false,false,false,false,false,false,false,false,false,false,651,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,7997,false,false,false,false,false,false,false,false,true,4,false,1393,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,12748,false,false,false,None,false,false,false,530,false,false,false,false,false,false,false,622,Native,false,false,20,false,false,false,false,false,false,false,false,false,false,662,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,7997,false,false,false,false,false,false,false,false,false,7,false,1395,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,12767,false,false,false,None,false,false,false,531,false,false,false,false,false,false,false,622,Others,false,false,20,false,false,false,false,false,false,false,false,false,false,663,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,8081,false,false,false,false,false,false,false,false,true,19,false,1398,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PRIVATE,true,false,false,false,false,false,false,false,true,12824,false,false,false,None,false,false,false,533,false,false,false,false,false,false,false,623,String,false,false,20,false,false,false,false,false,false,false,false,false,false,671,false,false,false,false,false,false,false,PUBLIC,6,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,8172,false,false,false,false,false,false,true,false,true,7,false,1400,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,12840,false,false,false,None,false,false,false,534,false,false,false,false,false,false,false,623,Others,false,false,20,false,false,false,false,false,false,false,false,false,false,680,false,false,false,false,false,false,false,PUBLIC,4,true,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,8190,false,false,false,false,false,false,false,false,false,18,false,1409,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,12887,false,true,false,None,false,false,false,534,false,false,false,false,false,false,false,625,String,false,false,20,false,false,false,false,false,false,false,false,false,false,681,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,true,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,8218,false,false,false,false,false,false,false,false,false,28,false,1422,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,12961,false,false,false,None,false,false,false,537,false,false,false,false,false,false,false,628,Others,false,false,20,false,true,false,false,false,false,false,false,false,false,682,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,8246,false,false,false,false,false,false,false,false,true,25,false,1429,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PROTECTED,true,false,false,false,false,false,false,false,false,13019,true,false,false,None,false,false,false,539,false,false,false,false,false,false,false,634,Others,false,false,20,false,false,false,false,false,false,false,false,false,false,684,false,false,false,false,false,false,false,PUBLIC,7,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,8277,false,true,false,false,false,false,false,false,false,7,false,1430,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,13035,false,false,false,None,false,false,false,540,false,false,false,false,false,false,false,634,Others,false,false,20,false,false,false,false,false,false,false,false,false,false,687,false,false,true,false,false,false,true,PUBLIC,1,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,true,1,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,8277,false,false,false,false,false,false,false,false,false,7,false,1430,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,13035,false,false,false,None,false,false,false,540,false,false,false,false,false,false,false,634,Others,false,false,20,false,false,false,false,false,false,false,false,false,false,687,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,8366,false,true,false,false,false,false,false,false,false,8,false,1431,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,13053,false,false,false,None,false,false,false,540,false,false,false,false,false,false,false,635,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,694,false,false,false,false,false,false,true,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,8378,false,false,false,false,false,false,false,false,false,4,false,1433,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,13062,false,false,false,None,true,false,false,542,false,false,false,false,false,false,false,635,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,697,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,8381,false,false,false,false,false,false,false,false,false,3,false,1433,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,13068,false,false,false,None,false,false,false,542,false,false,false,false,false,false,false,635,String,false,false,21,false,false,false,false,false,false,false,false,false,false,698,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,8386,false,false,false,false,false,false,false,false,false,5,false,1435,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,13080,false,false,false,None,false,false,false,542,false,false,false,false,false,false,false,635,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,699,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,8487,false,false,false,false,false,false,false,false,false,14,false,1439,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,13116,false,false,true,None,false,false,false,543,false,false,true,false,false,false,false,637,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,706,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,8501,false,false,false,false,false,false,false,false,false,15,false,1443,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,13154,false,false,true,None,false,false,false,544,false,false,true,false,false,false,false,639,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,714,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,8506,false,false,false,false,false,false,false,false,false,5,false,1444,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,13164,false,false,false,None,false,false,false,544,false,false,false,false,false,false,false,639,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,715,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,8744,false,false,false,false,false,false,false,false,true,147,false,1466,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PROTECTED,true,false,false,false,false,false,false,false,true,13638,false,false,false,None,false,false,false,557,false,false,false,false,false,true,false,675,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,725,false,false,false,false,false,false,false,PUBLIC,44,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,true,false,false,false,8781,false,false,false,false,false,false,false,false,false,9,false,1468,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,13658,false,false,false,None,false,false,false,559,false,false,false,false,false,false,false,675,Native,false,false,21,false,false,false,false,false,false,false,false,false,false,728,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,8790,false,false,false,false,false,false,false,false,false,9,false,1471,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,13678,false,false,false,None,false,false,false,560,false,false,false,false,false,false,false,675,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,729,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,2,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,8801,false,false,false,false,false,false,false,false,false,11,false,1475,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,13705,false,false,false,None,false,false,false,560,false,false,false,false,false,false,false,676,Native,false,false,21,false,true,false,false,false,false,false,false,false,false,730,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,true,3,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,true,false,false,false,8837,false,false,false,false,false,false,false,false,true,9,false,1479,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,13731,false,false,false,None,false,false,false,563,false,false,false,false,false,false,false,676,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,735,false,false,false,false,false,false,false,PUBLIC,6,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,3,false,false,2,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,8840,false,false,false,false,false,false,false,false,false,3,false,1479,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,13737,false,false,false,None,false,false,false,563,false,true,false,false,false,false,false,676,Native,false,false,21,false,false,false,false,false,false,false,false,false,false,736,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,3,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,true,false,false,false,false,true,false,false,false,8866,false,false,false,false,false,false,false,false,false,9,false,1480,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,13761,false,false,true,None,false,false,false,564,false,false,false,false,false,false,false,677,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,739,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,3,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,8873,false,false,false,false,false,false,false,false,false,7,false,1481,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,13775,false,false,false,None,false,false,false,564,false,false,false,false,false,false,false,678,String,false,false,21,false,false,false,false,false,false,false,false,false,false,740,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,3,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,8898,false,false,false,false,false,false,false,false,false,12,false,1484,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,13806,false,false,false,None,false,false,false,566,false,false,false,false,false,true,false,679,String,false,false,21,false,false,false,false,false,false,false,false,false,false,742,false,true,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,2,false,false,None,false,false,false,STATIC,false,false,false,false,false,3,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,8926,false,false,false,false,false,false,false,false,false,3,false,1484,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,13812,false,true,false,None,true,false,false,566,false,false,false,false,false,false,false,679,Native,false,false,21,false,false,false,false,false,false,false,false,true,false,744,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,3,false,false,1,false,false,false +0,0,0,0,1,0,0,1,0,0,0,false,1,false,false,false,true,false,false,false,false,false,false,false,false,false,8960,false,false,false,false,false,false,false,false,false,5,false,1486,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,13822,false,false,false,None,false,false,false,568,false,false,false,false,false,true,false,679,Others,false,false,21,false,false,false,false,false,true,false,false,false,false,750,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,true,false,false,DEFAULT,false,false,false,false,false,3,false,false,0,false,false,true +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,8960,false,false,false,false,false,false,false,false,false,9,false,1487,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,13841,false,false,false,None,false,false,false,568,false,false,false,false,false,false,false,680,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,751,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,3,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,8977,false,false,false,false,false,false,false,false,false,9,false,1487,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,13841,false,false,false,None,false,false,false,568,false,false,false,false,false,false,false,680,Native,false,false,21,false,false,false,false,false,false,false,false,false,false,754,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,true,Setter,false,false,false,ABSTRACT,false,false,false,false,false,3,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,8977,false,false,false,false,false,false,false,false,false,25,false,1495,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,13912,false,false,false,None,false,false,false,571,false,false,false,false,false,true,false,683,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,755,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,3,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,true,false,false,false,false,true,false,false,false,8987,false,false,false,false,false,false,false,false,false,10,false,1497,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,13934,false,false,false,None,false,false,false,572,false,false,false,false,false,false,false,684,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,756,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,3,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,8987,false,false,false,false,false,false,false,false,false,10,false,1497,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,13934,false,false,false,None,false,false,false,572,false,false,false,false,false,false,false,684,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,756,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,4,false,false,None,false,false,false,ABSTRACT,false,false,false,false,false,3,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,true,false,false,true,false,false,true,false,true,false,false,false,9181,false,false,false,false,false,false,false,false,false,64,false,1512,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,14053,true,false,false,None,false,false,false,576,false,false,false,false,false,true,false,702,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,761,false,true,false,false,false,false,false,PUBLIC,11,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,3,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,9239,false,false,false,false,false,false,false,false,false,58,false,1538,true,false,false,false,false,false,false,false,true,false,false,false,true,false,false,PROTECTED,false,false,false,false,false,false,false,false,true,14203,true,false,false,None,false,false,false,584,false,false,false,false,false,true,false,707,Others,false,false,21,false,false,false,false,false,true,false,false,false,false,762,false,true,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,3,false,true,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,9239,false,false,false,false,false,false,false,false,false,58,false,1538,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,14203,false,false,false,None,true,false,false,584,false,false,false,false,false,false,false,707,String,false,false,21,false,false,false,false,false,false,false,false,false,false,762,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,3,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,true,false,false,false,false,true,false,false,false,9275,false,false,false,false,false,false,false,false,false,10,false,1539,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,14229,false,false,true,None,false,false,false,585,false,false,false,false,false,false,false,708,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,766,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,3,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,9318,false,false,false,false,false,false,false,false,false,27,true,1549,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,14282,false,false,false,None,false,false,false,585,false,false,false,false,false,false,false,717,String,false,false,21,false,false,false,false,false,false,false,false,false,false,769,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,4,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,9361,false,false,false,false,false,false,false,false,true,7,false,1551,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,14300,false,false,false,None,false,false,false,587,false,false,false,false,false,false,false,717,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,775,false,true,false,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,3,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,4,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,9364,false,false,false,false,false,false,false,false,false,3,false,1551,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,14306,false,true,false,None,false,false,false,587,false,false,false,false,false,false,false,717,Others,false,false,21,false,false,false,false,false,false,false,false,true,false,776,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,4,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,9431,false,false,false,false,false,false,false,false,true,10,false,1554,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,14325,false,false,false,None,false,false,false,590,false,false,false,false,false,true,false,718,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,788,false,true,false,false,false,false,false,PUBLIC,6,false,false,false,DEFAULT,false,1,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,4,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,9466,false,false,false,false,false,false,false,false,false,5,false,1555,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,14336,false,false,false,None,false,false,false,591,false,false,false,false,false,false,false,718,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,793,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,4,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,9487,false,false,false,false,false,false,false,false,true,18,false,1559,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PROTECTED,true,false,false,false,false,false,false,false,false,14383,false,false,false,None,false,false,false,594,false,false,false,false,false,false,false,723,Others,false,false,21,false,false,false,true,false,false,false,false,false,false,795,false,false,false,false,false,false,false,DEFAULT,6,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,4,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,9518,false,false,false,false,false,false,false,false,true,4,false,1560,true,false,false,false,false,true,false,true,false,false,false,false,false,true,false,PUBLIC,true,false,false,false,false,false,false,false,false,14392,false,false,false,None,false,false,false,595,false,false,false,false,false,false,false,723,Native,false,false,21,false,false,false,false,false,false,false,false,false,false,802,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,4,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,true,false,false,false,9597,false,false,false,false,false,false,false,false,false,17,false,1565,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,14432,false,false,false,None,false,false,false,598,false,false,false,false,false,false,false,727,String,false,false,21,false,false,false,false,false,false,false,false,false,false,806,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,4,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,9614,false,true,false,false,false,false,false,false,false,17,false,1570,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,14468,true,false,false,None,false,false,false,601,false,false,false,false,false,true,false,730,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,807,false,false,false,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,4,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,9618,false,false,false,false,false,false,false,false,false,4,false,1571,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,14475,false,false,false,None,false,false,false,602,false,false,false,false,false,false,false,730,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,808,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,4,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,9635,false,false,false,false,false,false,false,false,false,4,false,1571,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,14475,false,false,false,None,false,false,false,602,false,false,false,false,false,false,false,730,Custom,false,false,21,false,false,false,false,false,false,false,false,false,false,811,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,true,Setter,false,false,false,ABSTRACT,false,false,false,false,false,4,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,true,false,false,false,9657,false,false,false,false,false,false,false,false,false,22,false,1582,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,14531,false,false,false,None,false,false,false,608,false,false,false,false,false,true,false,734,Native,false,false,21,false,false,false,false,false,false,false,false,false,false,812,false,true,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,4,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,true,1,false,false,false,false,false,false,false,false,false,false,false,false,false,9721,false,false,false,false,false,false,false,false,false,55,false,1601,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,14675,false,false,false,None,false,false,false,616,false,false,false,false,false,false,false,753,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,814,false,false,false,false,false,false,true,DEFAULT,8,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,true,DEFAULT,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,true,false,false,true,false,false,false,false,9969,false,false,false,false,false,false,false,false,true,10,false,1602,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,PROTECTED,true,false,false,false,false,false,false,false,false,14700,false,false,false,None,false,false,false,617,false,false,false,false,false,false,false,754,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,825,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,9969,false,false,false,false,false,false,false,false,false,10,false,1602,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,14700,false,false,false,None,false,false,false,617,false,false,false,false,false,false,false,754,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,825,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,10039,false,false,false,false,false,false,false,false,false,15,false,1606,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,14739,false,false,false,None,false,false,false,619,false,false,false,false,false,false,false,756,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,828,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,10045,false,false,false,false,false,false,false,false,false,3,false,1606,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,14745,false,false,false,None,false,false,false,619,false,false,false,false,false,false,false,756,String,false,false,21,false,false,false,false,false,false,false,false,false,false,830,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,10087,false,false,false,false,false,false,false,false,false,14,false,1609,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,14776,false,false,false,None,false,false,false,619,false,false,false,false,false,false,false,758,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,832,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,10087,false,false,false,false,false,false,false,false,false,14,false,1609,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,14776,false,false,false,None,false,false,false,619,false,false,false,false,false,false,false,758,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,832,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,10094,false,false,false,false,false,false,false,false,false,7,false,1612,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,14792,false,false,false,None,false,false,false,619,false,false,false,false,false,true,false,759,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,833,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,FINAL,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,10094,false,false,false,false,false,false,false,false,false,7,false,1612,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,14792,false,false,true,None,false,false,false,619,false,false,false,false,false,false,false,759,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,833,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,10133,false,false,false,false,false,false,false,false,false,4,true,1612,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,14801,false,false,false,None,false,false,false,619,false,false,false,false,false,false,false,759,String,false,false,21,false,false,false,false,false,false,false,false,false,false,843,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,10133,false,false,false,false,false,false,false,false,false,4,false,1612,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,14801,false,false,false,None,true,false,false,619,false,false,false,false,false,false,false,759,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,843,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,10147,false,false,false,false,false,false,false,false,false,15,false,1616,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,14840,false,false,true,None,false,false,false,620,false,false,true,false,false,false,false,761,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,852,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,10350,false,false,false,false,false,false,false,false,false,9,false,1616,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,14863,false,false,false,None,false,false,false,620,false,false,false,false,false,false,false,761,Others,false,false,21,false,false,false,false,false,false,false,false,false,false,858,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,true,false,false,false,false,true,false,false,false,10371,false,true,false,false,false,false,false,false,false,21,false,1624,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,14916,false,false,true,None,false,false,false,626,false,false,false,false,false,false,false,762,Others,false,false,22,false,false,false,false,false,false,false,false,false,false,859,false,false,true,false,false,false,true,DEFAULT,1,false,false,false,DEFAULT,false,3,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,10375,false,false,false,false,false,false,false,false,false,4,false,1624,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,true,false,false,false,false,false,false,14924,false,false,false,None,false,false,false,626,false,false,false,false,false,false,false,762,Native,false,false,22,false,false,false,false,false,false,false,false,true,false,860,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,2,false,false,Setter,false,true,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,10535,false,false,false,false,false,false,false,false,true,20,false,1628,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,14978,false,false,false,None,false,false,false,629,false,false,false,false,false,false,false,765,Others,false,false,22,false,false,false,false,false,false,false,false,false,false,865,false,true,false,false,false,false,false,PUBLIC,8,true,false,false,DEFAULT,false,3,false,false,Setter,false,true,false,SYNCHRONIZED,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,10552,false,true,false,false,false,false,false,false,false,17,false,1632,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,15024,true,false,false,None,false,false,false,630,false,false,false,false,false,false,false,766,Others,false,false,22,false,false,false,false,false,false,false,false,false,false,866,false,false,true,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,0,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,10557,false,false,false,false,false,false,false,false,false,5,false,1633,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,15035,false,false,false,None,false,false,false,630,false,false,false,false,false,false,false,766,Others,false,false,22,false,false,false,false,false,false,false,false,false,false,867,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,10560,false,false,false,false,false,false,false,false,false,3,false,1633,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,15041,false,false,false,None,false,false,false,630,false,false,false,false,false,false,false,766,Others,false,false,22,false,false,false,false,false,false,false,false,false,false,868,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,10567,false,true,false,false,false,false,false,false,false,7,false,1635,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,15056,false,false,false,None,false,false,false,631,false,false,false,false,false,false,false,766,Others,false,false,22,false,false,false,false,false,false,false,false,false,false,869,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,10583,false,false,false,false,false,false,false,false,false,4,false,1637,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,15065,false,false,false,None,true,false,false,633,false,false,false,false,false,false,false,766,String,false,false,22,false,false,false,false,false,false,false,false,false,false,873,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,10625,false,false,false,false,false,false,false,false,false,7,false,1639,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,15083,false,false,false,None,false,false,false,633,false,false,false,false,false,false,false,766,Others,false,false,22,false,false,false,false,false,false,false,false,false,false,879,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,1,false,false,false,true,false,false,false,false,false,false,false,false,false,10625,false,false,false,false,false,false,false,false,false,7,false,1639,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,15083,false,false,false,None,false,false,false,633,false,false,false,false,false,false,false,766,Others,false,false,22,false,false,false,false,false,false,false,false,false,false,879,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,true,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,10656,false,true,false,false,false,false,false,false,false,13,false,1644,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,15119,false,false,false,None,false,false,false,634,false,false,false,false,false,true,false,767,Others,false,false,22,false,false,false,false,false,false,false,false,false,false,881,false,false,true,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,0,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +1,0,0,0,0,0,0,1,0,0,1,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,10722,false,false,false,false,false,false,false,false,false,66,false,1658,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,15305,false,false,false,None,false,false,false,638,false,false,false,false,false,true,false,781,Others,false,false,22,false,false,false,false,false,false,false,false,false,false,882,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,true,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,10725,false,false,false,false,false,false,false,false,false,3,false,1658,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,15311,false,false,false,None,false,false,false,638,false,false,false,false,false,false,false,781,String,false,false,22,false,false,false,false,false,false,false,false,false,false,883,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,10739,false,false,false,false,false,false,false,false,false,5,false,1659,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,15324,false,false,false,None,false,false,false,638,false,false,false,false,false,false,false,781,Others,false,false,22,false,false,false,false,false,false,false,false,false,true,886,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,true,false,false,false,false,10811,false,false,false,false,false,false,false,false,true,5,false,1660,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,15334,false,false,false,None,false,false,false,639,false,false,false,false,false,true,false,781,Others,false,false,22,false,false,false,false,false,false,false,false,false,false,899,false,true,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,10839,false,false,false,false,false,false,false,false,true,14,false,1662,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,15368,false,false,false,None,false,false,false,641,false,false,false,false,false,true,false,782,Native,false,false,22,false,false,false,false,false,false,false,false,false,false,901,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,true,false,false,false,false,false,false,false,false,false,false,false,10850,false,false,false,false,false,false,false,false,false,11,false,1665,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,15397,false,false,false,None,false,false,false,642,false,false,false,false,false,true,false,784,Others,false,false,22,false,true,false,false,false,false,false,false,false,false,902,true,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,10858,false,true,false,false,false,false,false,false,false,4,false,1666,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,15404,false,false,false,None,false,false,false,643,false,false,false,false,false,false,false,784,Others,false,false,22,false,false,false,false,false,false,false,false,false,false,904,false,false,true,false,false,false,true,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,true,false,SYNCHRONIZED,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,11007,false,false,false,false,false,false,false,false,false,18,false,1671,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,15452,false,false,true,None,false,false,false,645,false,false,true,false,false,false,false,787,Others,false,false,22,false,false,false,false,false,false,false,false,false,false,914,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,true,false,false,true,false,false,false,false,false,11245,false,true,false,false,false,false,false,false,false,35,false,1678,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,15519,true,false,false,None,false,false,false,646,false,false,false,false,false,false,false,796,Others,false,false,23,false,false,false,false,false,false,false,false,false,false,921,false,false,false,false,false,false,true,PUBLIC,5,false,false,false,DEFAULT,false,5,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,11245,false,false,false,false,false,false,false,false,false,35,false,1678,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,15519,false,false,false,None,false,false,false,646,false,false,false,false,false,false,false,796,String,false,false,23,false,false,false,false,false,false,false,false,false,false,921,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,11332,false,false,false,false,false,false,false,false,false,23,false,1688,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,15576,false,false,false,None,false,false,false,653,false,false,false,false,false,false,false,802,Others,false,false,23,false,false,false,false,false,false,false,false,false,false,924,false,false,false,false,false,false,false,DEFAULT,7,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,11336,false,false,false,false,false,false,false,false,false,4,false,1689,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,15585,false,false,false,None,false,false,false,653,false,false,false,false,false,false,false,802,String,false,false,23,false,false,false,false,false,false,false,false,false,false,925,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,0,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,11362,false,false,false,false,false,false,false,false,false,11,false,1691,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,15612,false,false,false,None,false,false,false,655,false,false,false,false,false,false,false,804,Native,false,false,23,false,false,false,false,false,false,false,false,false,false,928,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,11467,false,false,false,false,false,false,false,false,false,6,false,1692,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,15626,false,false,true,None,false,false,false,656,false,false,true,false,false,false,false,804,Others,false,false,23,false,false,false,false,false,false,false,false,false,false,936,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,11495,false,false,false,false,false,false,false,false,false,28,false,1694,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,15714,false,false,false,None,false,false,false,657,true,false,false,false,false,false,false,807,Native,false,false,23,false,false,false,false,false,false,false,false,false,false,937,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,11500,false,false,false,false,false,false,false,false,false,5,false,1695,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,15725,false,false,true,None,false,false,false,657,false,false,false,false,false,false,false,807,Others,false,false,23,false,false,false,false,false,false,false,false,false,false,938,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,11592,false,false,false,false,false,false,false,false,false,60,false,1703,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,15903,false,false,false,None,false,false,false,660,false,false,false,false,false,false,false,816,Native,false,false,23,false,false,false,false,false,false,false,false,false,false,940,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,11630,false,false,false,false,false,false,false,false,false,4,false,1704,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,15912,false,false,false,None,true,false,false,660,false,false,false,false,false,true,false,816,Others,false,false,23,false,false,false,false,false,false,false,false,false,false,942,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,11639,false,false,false,false,false,false,false,false,false,5,false,1704,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,15924,false,false,false,None,false,false,false,660,false,false,false,false,false,false,false,816,Others,false,false,23,false,false,false,false,false,false,false,false,false,false,944,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,true,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,true,1,false,false,false,false,false,false,false,false,false,false,false,false,false,11728,false,false,false,false,false,false,false,false,false,89,false,1725,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,true,false,false,false,true,16168,false,false,false,None,false,false,false,663,false,false,false,false,false,false,false,845,Native,false,false,23,true,false,false,false,false,false,false,false,false,false,945,false,false,false,false,false,false,false,PUBLIC,5,false,false,true,DEFAULT,false,3,false,false,Setter,false,false,true,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,11739,false,false,false,false,false,false,false,false,false,11,false,1730,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,16194,false,false,false,None,false,false,false,665,false,false,false,false,false,false,false,845,String,false,false,23,false,false,false,false,false,false,false,false,false,false,946,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,1,false,false,false,false,false,false,false,false,false,true,false,false,false,11914,false,false,false,false,false,false,true,false,false,172,false,1789,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,16676,true,true,false,None,false,false,false,707,false,false,false,false,false,true,false,891,Others,false,false,23,false,false,false,false,false,false,false,false,false,false,948,false,true,false,false,false,false,false,PUBLIC,44,true,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,11914,false,false,false,false,false,false,false,false,false,172,false,1789,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,16676,false,false,false,None,true,false,false,707,false,false,false,false,false,false,false,891,String,false,false,23,false,false,false,false,false,false,false,false,false,false,948,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,11914,false,false,false,false,false,false,false,false,false,172,false,1789,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,16676,false,false,false,None,false,false,false,707,false,false,false,false,false,false,false,891,Others,false,false,23,false,false,false,false,false,false,false,false,false,false,948,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,12020,false,true,false,false,false,false,false,false,false,26,false,1792,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,16722,false,false,false,None,false,false,false,708,false,false,false,false,false,false,false,894,Others,false,false,24,false,false,false,false,false,false,false,false,false,false,952,false,false,false,false,false,false,true,PUBLIC,2,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,12037,false,false,false,false,false,false,false,false,false,26,false,1792,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,16722,false,false,false,None,false,false,false,708,false,false,false,false,false,false,false,894,Native,false,false,24,false,false,false,false,false,false,false,false,false,false,955,false,false,false,false,false,false,false,PUBLIC,0,true,false,false,ABSTRACT,false,1,false,true,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,12051,false,false,false,false,false,false,false,false,false,4,false,1792,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,16729,false,false,false,None,false,false,false,708,false,false,false,false,false,false,false,894,Others,false,false,24,false,false,false,false,false,false,false,false,false,false,959,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,12061,false,false,false,false,false,false,false,false,false,10,false,1794,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,16752,false,false,false,None,false,false,false,710,false,false,false,false,false,false,false,896,Others,false,false,24,false,false,false,false,false,false,false,false,false,false,960,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,2,false,false,Setter,true,true,false,DEFAULT,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,true,false,false,false,false,false,false,false,12064,false,false,false,false,false,false,false,false,false,3,false,1794,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,16758,false,false,false,None,false,false,false,710,false,false,false,false,false,false,false,896,Others,false,false,24,false,false,false,false,false,false,false,false,false,false,961,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,0,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,12078,false,false,false,false,false,false,false,false,false,4,false,1794,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,16768,false,false,false,None,false,false,false,710,false,false,false,false,false,false,false,896,Others,false,false,24,false,false,false,false,false,false,false,false,false,false,964,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,true,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,12118,false,false,false,false,false,false,false,false,false,40,false,1811,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,16867,false,false,false,None,false,false,false,714,false,true,false,false,false,false,false,902,Others,false,false,24,false,false,false,false,false,false,false,false,false,false,965,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,12192,false,false,false,false,false,false,false,false,false,60,false,1828,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,17022,false,false,false,None,false,false,true,715,false,false,false,false,false,true,false,919,Others,false,false,24,false,false,false,false,false,false,false,false,false,false,967,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,12198,false,false,false,false,false,false,false,false,false,6,false,1829,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,17033,false,false,false,None,false,false,false,715,false,false,false,false,false,false,false,919,Others,false,false,24,false,false,false,false,false,false,false,false,false,false,968,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,12201,false,false,false,false,false,false,false,false,false,3,false,1829,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,17039,false,false,false,None,false,false,false,715,false,false,false,false,false,false,false,919,Others,false,false,24,false,false,false,false,false,false,false,false,false,false,969,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,12455,false,false,false,false,false,false,true,false,true,6,false,1831,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,17053,false,false,false,None,false,false,false,716,false,false,false,false,false,false,false,919,Others,false,false,24,false,false,false,false,false,false,false,false,false,false,981,false,false,false,false,false,false,false,PUBLIC,4,true,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,12527,false,false,false,false,false,false,false,false,false,10,false,1833,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,17079,false,false,false,None,false,false,false,717,false,false,false,false,false,true,false,919,Others,false,false,24,false,false,false,false,false,false,false,false,false,false,988,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,5,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,12560,false,false,false,false,false,false,false,false,false,5,false,1834,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,17089,false,true,false,None,true,false,false,717,false,false,false,false,false,false,false,919,String,false,false,24,false,false,false,false,false,false,false,false,false,false,991,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,14358,false,false,false,false,false,false,false,false,true,1796,false,2656,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,23805,false,false,false,None,false,false,false,839,false,false,false,false,false,true,false,922,Custom,false,false,24,false,false,false,false,false,false,false,false,false,false,993,false,false,false,false,false,false,false,PUBLIC,1318,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,14395,false,false,false,false,false,false,false,false,false,37,false,2665,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,23906,false,false,false,None,false,false,false,839,false,false,false,false,false,true,false,932,Others,false,false,24,false,false,false,false,false,false,false,false,false,false,994,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,14409,false,false,false,false,false,false,false,false,false,18,false,2670,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,23954,false,false,true,None,false,false,false,841,false,false,true,false,false,false,false,935,Others,false,false,24,false,false,false,false,false,false,false,false,false,false,1004,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,14435,false,false,false,false,false,false,false,false,false,13,false,2671,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,23988,false,false,true,None,false,false,false,842,false,false,true,false,false,false,false,935,Others,false,false,24,false,false,false,false,false,false,false,false,false,false,1006,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,8,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,14444,false,false,false,false,false,false,false,false,false,3,false,2671,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,23994,false,false,false,None,false,false,false,842,false,false,false,false,false,false,false,935,String,false,false,24,false,false,false,false,false,false,false,false,false,false,1009,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,14449,false,false,false,false,false,false,false,false,false,5,false,2672,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,24006,false,false,false,None,false,false,false,842,false,false,false,false,false,true,false,935,Native,false,false,24,false,false,false,false,false,false,false,false,false,false,1010,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,14571,false,false,false,false,false,false,false,false,false,17,false,2678,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,24045,false,false,true,None,false,false,false,845,false,false,false,false,false,false,false,936,Others,false,false,24,false,false,false,false,false,false,false,false,false,false,1019,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,14583,false,false,false,false,false,false,false,false,false,12,false,2683,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,24074,false,false,false,None,false,false,false,848,false,false,false,false,false,true,false,937,Others,false,false,24,false,false,false,false,false,false,false,false,false,false,1020,false,false,false,false,false,false,true,PUBLIC,1,false,false,false,ABSTRACT,false,1,false,false,Setter,true,false,false,DEFAULT,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,true,false,false,false,false,false,14678,false,true,false,false,false,false,false,false,false,6,false,2683,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,24087,false,false,false,None,false,false,false,848,false,false,false,false,false,false,false,937,Others,false,false,25,false,false,false,false,false,false,false,false,false,false,1028,false,false,false,false,false,false,true,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,14745,false,false,false,false,false,false,false,false,true,24,false,2689,true,false,false,false,false,true,false,false,false,false,false,false,false,true,false,PROTECTED,true,false,false,false,false,false,false,false,false,24150,false,false,false,None,false,false,false,849,false,false,false,false,false,false,false,942,String,false,false,25,false,false,false,false,false,false,false,false,false,false,1035,false,false,false,false,false,false,false,PUBLIC,2,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,14765,false,false,false,false,false,false,false,false,false,3,false,2689,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,24156,false,false,false,None,false,false,false,849,false,false,false,false,false,false,false,942,String,false,false,25,false,false,false,false,false,false,false,false,false,false,1041,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,14768,false,false,false,false,false,false,false,false,false,3,false,2690,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,24161,false,false,false,None,false,false,false,849,false,false,false,false,false,false,false,942,Others,false,false,25,false,false,false,false,false,false,false,false,false,false,1042,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,true,0,false,false,false,false,false,false,false,false,false,false,false,false,false,14771,false,false,false,false,false,false,false,false,false,3,false,2690,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,24168,false,false,false,None,false,false,false,849,false,false,false,false,false,false,false,942,String,false,false,25,false,false,false,false,false,false,false,false,false,false,1043,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,true,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,14801,false,false,false,false,false,false,false,false,false,30,false,2704,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,24251,false,false,false,None,false,false,false,849,false,false,false,false,false,false,false,944,Others,false,false,25,false,true,false,false,false,false,false,false,false,false,1044,false,false,false,false,false,false,false,PUBLIC,0,true,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,14801,false,false,false,false,false,false,false,false,false,30,false,2704,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,24251,false,false,false,None,false,false,false,849,false,false,false,false,false,false,false,944,Others,false,false,25,false,false,false,false,false,false,false,false,false,false,1044,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,14817,false,false,false,false,false,false,false,false,false,5,false,2705,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,24263,false,false,false,None,false,false,false,850,false,false,false,false,false,true,false,944,Others,false,false,25,false,true,false,false,false,false,false,false,false,false,1046,true,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,true,false,false,false,false,false,false,true,false,false,false,false,14853,false,false,false,false,false,false,false,false,true,5,false,2706,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,24273,false,false,false,None,false,false,false,851,false,false,false,false,false,false,false,944,Others,false,false,25,false,false,false,false,false,false,false,false,false,false,1054,false,true,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,14861,false,false,false,false,false,false,false,false,false,8,false,2708,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,24287,false,false,false,None,false,false,false,853,false,false,false,false,false,true,false,945,Others,false,false,25,false,false,false,false,false,false,false,false,false,false,1055,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,14876,false,false,false,false,false,false,false,false,false,8,false,2710,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,24309,false,false,false,None,false,false,false,854,false,false,false,false,false,false,false,945,Others,false,false,25,false,false,false,false,false,false,false,false,false,false,1057,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,14890,false,false,false,false,false,false,false,false,false,15,false,2714,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,24347,false,false,true,None,false,false,false,855,false,false,true,false,false,false,false,947,Others,false,false,25,false,false,false,false,false,false,false,false,false,false,1067,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,14901,false,false,false,false,false,false,false,false,false,6,false,2715,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,24360,false,false,false,None,false,false,false,856,false,false,false,false,false,false,false,947,Others,false,false,25,false,false,false,false,false,false,false,false,false,false,1069,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,14930,false,false,false,false,false,false,false,false,false,15,false,2719,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,24398,false,false,true,None,false,false,false,857,false,false,true,false,false,false,false,949,Others,false,false,25,false,false,false,false,false,false,false,false,false,false,1071,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,14930,false,false,false,false,false,false,false,false,false,15,false,2719,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,24398,false,false,true,None,false,false,false,857,false,false,false,false,false,false,false,949,Others,false,false,25,false,false,false,false,false,false,false,false,false,false,1071,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,14971,false,false,false,false,false,false,false,false,false,24,false,2727,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,24457,false,false,false,None,false,false,true,859,false,false,false,false,false,false,false,955,Others,false,false,25,false,false,false,false,false,false,false,false,false,false,1074,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,15246,false,false,false,false,false,false,false,false,true,21,false,2732,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,24509,true,false,false,None,false,false,false,861,false,false,false,false,false,true,false,959,Others,false,false,25,false,false,false,false,false,false,false,false,false,false,1087,false,true,false,false,false,false,false,PUBLIC,10,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,15252,false,false,false,false,false,false,false,false,false,6,false,2733,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,24521,false,false,false,None,false,false,false,861,false,false,false,false,false,false,false,959,String,false,false,25,false,false,false,false,false,false,false,false,false,false,1088,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,1,0,0,0,0,1,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,15340,false,false,false,false,false,false,false,false,false,88,false,2745,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,24782,false,false,false,None,false,false,false,861,false,false,false,false,false,false,false,974,Native,false,false,26,false,false,false,false,false,false,false,false,false,false,1089,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,4,false,false,Setter,false,false,false,STATIC,false,true,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,15380,false,false,false,false,false,false,false,false,false,40,false,2753,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,24898,false,false,false,None,false,false,false,864,false,false,false,false,false,true,false,982,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1090,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,15415,false,false,false,false,false,false,false,false,false,35,false,2766,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,24983,false,false,false,None,false,false,false,865,false,false,false,false,false,false,false,992,Others,false,false,26,false,true,false,false,false,false,false,false,false,false,1091,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,15415,false,false,false,false,false,false,false,false,false,35,false,2766,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,24983,false,false,false,None,false,false,false,865,false,false,false,false,false,false,false,992,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1091,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,None,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,15444,false,false,false,false,false,false,false,false,false,14,false,2770,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,25019,false,false,true,None,false,false,false,866,false,false,true,false,false,false,false,994,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1102,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,15474,false,false,false,false,false,false,false,false,false,4,false,2771,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,25026,false,false,false,None,false,false,false,867,false,false,false,false,false,false,false,994,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1106,false,false,false,false,false,false,true,PUBLIC,1,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,true,1,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,15489,false,false,false,false,false,false,false,false,false,15,false,2777,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,25065,false,false,false,None,false,false,false,869,false,true,false,false,false,true,false,996,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1107,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,15503,false,false,false,false,false,false,false,false,false,4,false,2777,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,25072,false,false,false,None,false,false,false,869,false,false,false,false,false,false,false,996,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1110,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,15533,false,false,false,false,false,false,false,false,false,5,false,2778,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,25082,false,false,false,None,false,false,false,870,false,false,false,false,false,false,false,996,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1113,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,15584,false,false,false,false,false,false,false,false,false,37,false,2786,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,25168,false,false,false,None,false,false,false,870,false,false,false,false,false,false,false,999,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1117,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,5,false,true,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,true,false,false,false,false,false,false,true,false,false,false,false,15665,false,false,false,false,false,false,false,false,true,5,false,2787,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,25178,false,false,false,None,false,false,false,871,false,false,false,false,false,true,false,999,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1132,false,true,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,15701,true,false,false,false,false,false,false,false,true,36,false,2797,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,true,25278,false,false,true,None,false,false,false,878,false,false,true,false,false,false,false,1005,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1133,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,15729,false,false,false,false,false,false,false,false,false,28,false,2813,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,true,25357,false,true,true,None,false,false,false,880,false,false,false,false,false,false,false,1007,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1134,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,15729,false,false,false,false,false,false,false,false,false,28,false,2813,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,25357,false,false,false,None,false,false,false,880,false,false,false,false,false,false,false,1007,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1134,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,15754,false,false,false,false,false,false,false,false,false,9,false,2814,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,25385,false,false,false,None,false,false,false,880,false,false,false,false,false,false,false,1007,String,false,false,26,false,true,false,false,false,false,false,false,false,false,1137,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,15766,false,false,false,false,false,false,false,false,false,12,false,2818,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,25414,false,false,false,None,false,false,false,882,true,false,false,false,false,true,false,1007,Native,false,false,26,false,false,false,false,false,false,false,false,false,false,1138,false,false,false,false,false,false,false,PUBLIC,4,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,true,false,false,false,false,false,false,false,false,false,false,false,15790,false,false,false,false,false,false,false,false,false,13,false,2819,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,25439,false,false,false,None,false,false,false,882,false,false,false,false,false,false,false,1008,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1141,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,15856,false,false,false,false,false,false,false,false,false,46,false,2835,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,25576,false,false,false,None,false,false,false,884,false,false,false,false,false,false,false,1020,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1148,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,2,false,false,false,false,false,false,false,true,false,false,false,false,false,15866,false,false,false,false,false,false,false,false,false,10,false,2837,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,25601,false,false,false,None,false,false,false,885,true,false,false,false,false,false,false,1020,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1149,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,15866,false,false,false,false,false,false,false,false,false,10,false,2837,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,25601,false,false,true,None,false,false,false,885,false,false,false,false,false,false,false,1020,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1149,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,15888,false,false,false,false,false,false,false,false,false,3,false,2837,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,25607,false,false,false,None,false,false,false,885,false,false,false,false,false,false,false,1020,String,false,false,26,false,false,false,false,false,false,false,false,false,false,1152,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,15888,false,false,false,false,false,false,false,false,false,3,false,2837,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,25607,false,false,true,None,false,false,false,885,false,false,false,false,false,false,false,1020,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1152,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,15896,false,false,false,false,false,false,false,false,false,8,false,2838,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,25628,false,false,false,None,false,false,false,886,false,true,false,false,false,false,false,1020,Native,false,false,26,false,false,false,false,false,false,false,true,false,false,1153,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,5,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,15919,false,true,false,false,false,false,false,false,false,23,false,2848,true,false,false,false,false,false,true,true,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,true,25685,false,true,false,None,false,false,false,893,false,false,false,false,false,true,false,1023,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1154,false,false,false,false,false,false,true,DEFAULT,6,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,15997,false,false,false,false,false,false,false,false,false,6,false,2850,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,25699,false,false,false,None,false,false,false,893,false,false,false,false,false,false,false,1023,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1162,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,16031,false,false,false,false,false,false,false,false,false,9,false,2850,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,25725,false,false,false,None,false,false,false,893,false,false,false,false,false,false,false,1023,Others,false,false,26,false,true,false,false,false,false,false,false,false,false,1166,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,5,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,16104,false,false,false,false,false,false,false,false,false,7,false,2851,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,25738,false,false,true,None,false,false,false,893,false,false,false,false,false,false,false,1024,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1168,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,16118,false,true,false,false,false,false,false,false,false,14,false,2855,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,25771,false,false,false,None,false,false,false,896,false,false,false,false,false,true,false,1027,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1169,false,false,false,false,false,false,false,DEFAULT,2,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,0,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,16182,false,false,false,false,false,false,false,false,false,64,false,2882,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,25938,false,false,false,None,false,false,false,904,false,true,false,false,false,true,false,1035,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1170,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,16186,false,false,false,false,false,false,false,false,false,4,false,2884,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,25947,false,false,false,None,false,false,false,905,false,false,false,false,false,false,false,1035,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1171,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,16189,false,false,false,false,false,false,false,false,false,3,false,2884,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,25953,false,false,false,None,false,false,false,905,false,false,false,false,false,false,false,1035,Native,false,false,26,false,false,false,false,false,false,false,false,false,false,1172,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,false,5,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,16217,false,false,false,false,false,false,false,false,false,12,false,2885,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,25977,false,false,false,None,false,false,false,905,false,false,false,false,false,false,false,1035,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1175,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,8,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,16227,false,false,false,false,false,false,false,false,true,10,false,2886,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,25999,false,false,false,None,false,false,false,905,false,false,false,false,false,false,false,1038,Native,false,false,26,false,false,false,false,false,false,false,false,false,false,1176,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,16234,false,true,false,false,false,false,false,false,false,4,false,2887,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,26006,false,false,false,None,false,false,false,905,false,false,false,false,false,false,false,1038,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1177,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,16319,false,false,false,false,false,false,false,false,true,4,false,2888,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,true,26015,false,false,false,None,false,false,false,906,false,false,false,false,false,false,false,1038,Native,false,false,26,false,false,false,false,false,false,false,false,false,false,1193,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,16430,false,true,false,false,false,false,false,false,false,5,false,2889,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,26025,false,false,false,None,false,false,false,907,false,false,false,false,false,false,false,1038,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1198,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,1,false,true,false,false,false,false,false,false,false,false,false,false,false,16462,false,false,false,false,false,false,false,false,false,5,false,2890,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,26035,false,false,false,None,true,false,false,908,false,false,false,false,false,false,false,1038,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1205,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,16475,false,false,false,false,false,false,false,false,false,13,false,2892,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,26062,false,false,true,None,false,false,false,908,false,false,false,false,false,false,false,1040,Native,false,false,26,false,false,false,false,false,false,false,false,false,false,1206,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,16475,false,false,false,false,false,false,false,false,false,13,false,2892,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,26062,false,false,true,None,false,false,false,908,false,false,false,false,false,false,false,1040,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1206,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,16475,false,false,false,false,false,false,false,false,false,13,false,2892,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,26062,false,false,false,None,true,false,false,908,false,false,false,false,false,false,false,1040,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1206,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,16660,false,false,false,false,false,false,false,false,true,157,false,2935,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,true,26462,false,false,false,None,false,false,false,929,false,false,false,false,false,true,false,1076,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1209,false,true,false,false,false,false,false,PUBLIC,48,false,false,false,DEFAULT,false,0,false,true,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,16674,false,false,false,false,false,false,false,false,false,14,false,2940,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,26501,false,false,false,None,false,false,false,930,false,false,false,false,false,false,false,1077,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1210,false,false,true,false,false,false,false,PUBLIC,2,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,16674,false,false,false,false,false,false,false,false,false,14,false,2940,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,26501,false,false,false,None,false,false,false,930,false,false,false,false,false,false,false,1077,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1210,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,4,false,false,None,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,16954,false,false,false,false,false,false,false,false,true,5,false,2942,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,26514,false,false,false,None,false,false,false,931,false,false,false,false,false,false,false,1077,String,false,false,26,false,false,false,false,false,false,false,false,false,false,1224,false,false,false,false,false,false,false,PUBLIC,4,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,16999,false,false,false,false,false,false,false,false,false,4,false,2943,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,26523,false,false,false,None,false,false,false,932,false,false,false,false,false,true,false,1077,Others,false,false,26,false,false,false,false,false,false,false,false,false,false,1228,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,1,1,0,1,0,0,1,false,1,false,false,false,false,false,true,false,false,false,false,false,false,false,17107,false,false,false,false,false,false,false,false,false,62,false,2959,true,false,false,false,false,false,true,false,false,false,false,false,true,false,false,PRIVATE,false,false,false,false,false,false,false,false,true,26690,false,true,false,None,false,false,false,938,false,false,false,false,false,true,false,1090,String,false,false,26,false,false,false,false,false,false,false,false,false,false,1230,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,17122,false,true,false,false,false,false,false,false,false,15,false,2960,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,26728,false,false,false,None,false,false,false,939,false,false,false,false,false,false,false,1092,Others,false,false,27,false,false,false,false,false,false,false,false,false,false,1231,false,false,true,false,false,false,true,PUBLIC,1,false,false,false,DEFAULT,false,3,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,17143,false,false,false,false,false,false,false,false,true,16,false,2967,true,false,false,false,false,true,false,false,false,false,false,false,false,true,false,PUBLIC,true,false,false,false,false,false,false,false,false,26771,false,false,false,None,false,false,false,945,false,false,false,false,false,false,false,1095,String,false,false,27,false,false,false,false,false,false,false,false,false,false,1233,false,false,false,false,false,false,false,PUBLIC,12,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,17163,false,false,false,false,false,false,false,false,false,4,false,2969,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,26780,false,false,false,None,true,false,false,947,false,false,false,false,false,false,false,1095,String,false,false,27,false,false,false,false,false,false,false,false,false,false,1238,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,17175,false,false,false,false,false,false,false,false,true,12,false,2971,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,26808,false,false,false,None,false,false,false,949,false,false,false,false,false,true,false,1096,Native,false,false,27,false,false,false,false,false,false,false,false,false,false,1239,false,false,false,false,false,false,false,PUBLIC,3,true,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,17175,false,false,false,false,false,false,false,false,false,12,false,2971,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,26808,false,false,false,None,false,false,false,949,false,false,false,false,false,false,false,1096,String,false,false,27,false,false,false,false,false,false,false,false,false,false,1239,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,17178,false,false,false,false,false,false,false,false,false,3,false,2971,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,26814,false,false,false,None,false,false,false,949,false,false,false,false,false,false,false,1096,String,false,false,27,false,false,false,false,false,false,false,false,false,false,1240,false,false,true,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,17178,false,false,false,false,false,false,false,false,false,3,false,2971,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,26814,false,false,false,None,true,false,false,949,false,false,false,false,false,false,false,1096,String,false,false,27,false,false,false,false,false,false,false,false,false,false,1240,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,17207,false,false,false,false,false,false,false,false,false,29,false,2984,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,26879,false,false,true,None,false,false,true,952,false,false,false,false,false,false,false,1099,Others,false,false,27,false,false,false,false,false,false,false,false,false,false,1241,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,17207,false,false,false,false,false,false,false,false,false,29,false,2984,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,26879,false,false,true,None,false,false,false,952,false,false,false,false,false,false,false,1099,Others,false,false,27,false,false,false,false,false,false,false,false,false,false,1241,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,17207,false,false,false,false,false,false,false,false,false,29,false,2984,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,26879,false,false,false,None,true,false,false,952,false,false,false,false,false,false,false,1099,String,false,false,27,false,false,false,false,false,false,false,false,false,false,1241,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,17212,false,true,false,false,false,false,false,false,false,5,false,2986,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,26889,false,true,false,None,false,false,false,954,false,false,false,false,false,false,false,1099,Others,false,false,27,false,false,false,false,true,false,false,false,false,false,1242,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,17319,false,false,false,false,false,false,false,false,false,12,false,2988,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,26919,false,false,false,None,false,false,false,956,false,false,false,false,false,false,false,1101,Others,false,false,28,false,false,false,false,false,false,false,false,false,false,1251,false,false,false,false,false,false,true,PUBLIC,2,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,17330,false,false,false,false,false,false,false,false,false,11,false,2991,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,26944,false,true,false,None,false,false,false,958,false,false,false,false,false,true,false,1104,Native,false,false,28,false,false,false,false,false,false,false,false,false,false,1252,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,true,false,false,false,false,false,false,true,false,false,false,false,17420,false,false,false,false,false,false,false,false,true,5,false,2992,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,26954,false,false,false,None,false,false,false,959,false,false,false,false,false,true,false,1104,Others,false,false,28,false,false,false,false,false,false,false,false,false,false,1269,false,true,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,17420,false,false,false,false,false,false,false,false,false,5,false,2992,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,26954,false,false,false,None,true,false,false,959,false,false,false,false,false,false,false,1104,Others,false,false,28,false,false,false,false,false,false,false,false,false,false,1269,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +1,1,0,0,1,0,0,1,1,1,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,17439,false,false,false,false,false,false,false,false,false,12,false,2996,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,26986,false,false,false,None,false,false,false,959,false,false,false,false,true,false,false,1105,String,false,false,28,false,false,false,false,false,false,false,false,false,false,1271,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,1,1,0,0,0,0,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,17517,false,false,false,false,false,false,false,false,false,45,false,3008,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,27095,false,true,false,None,true,false,false,965,false,false,false,false,false,true,false,1114,Others,false,false,28,false,true,false,false,false,false,false,false,false,false,1275,false,false,false,false,false,false,false,PUBLIC,6,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,17526,false,false,false,false,false,false,false,false,false,9,false,3013,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,27121,false,true,false,None,false,false,false,965,false,false,false,false,false,false,false,1114,String,false,false,28,false,false,false,false,false,false,false,false,false,false,1276,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,true,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,17542,false,false,false,false,false,false,false,false,false,16,false,3021,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,27168,false,false,false,None,false,false,false,967,false,false,false,false,false,false,false,1115,String,false,false,28,false,false,false,false,false,false,false,false,false,false,1277,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,17611,false,false,false,false,false,false,false,false,false,3,false,3021,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,27174,false,false,false,None,false,false,false,967,false,false,false,false,false,false,false,1115,String,false,false,28,false,false,false,false,false,false,false,false,false,false,1285,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,17640,false,false,false,false,false,false,false,false,false,20,false,3035,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,27233,false,false,false,None,false,false,false,970,false,false,false,false,false,false,false,1116,String,false,false,28,false,false,false,false,false,false,false,false,false,false,1288,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,true,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,true,false,false,false,false,true,false,false,false,17653,false,false,false,false,false,false,false,false,false,13,false,3038,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,27267,false,false,false,None,false,false,false,972,false,false,false,false,false,false,false,1118,Others,false,false,28,false,false,false,false,false,false,false,false,false,false,1289,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,true,5,false,false,1,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,17653,false,false,false,false,false,false,false,false,false,13,false,3038,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,27267,false,false,false,None,false,false,false,972,false,false,false,false,false,false,false,1118,Others,false,false,28,false,false,false,false,false,false,false,false,false,false,1289,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,17653,false,false,false,false,false,false,false,false,false,13,false,3038,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,27267,false,false,true,None,false,false,false,972,false,false,false,false,false,false,false,1118,Others,false,false,28,false,false,false,false,false,false,false,false,false,false,1289,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,17653,false,false,false,false,false,false,false,false,false,13,false,3038,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,27267,false,false,false,None,true,false,false,972,false,false,false,false,false,false,false,1118,Others,false,false,28,false,false,false,false,false,false,false,false,false,false,1289,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,true,false,false,false,true,true,false,false,false,17728,false,false,false,false,false,false,false,false,true,8,false,3042,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,27290,false,false,false,None,false,false,false,976,false,false,false,false,false,false,false,1118,Others,false,false,28,false,false,false,false,false,false,false,false,false,false,1297,false,false,false,false,false,false,false,PUBLIC,6,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,17731,false,false,false,false,false,false,false,false,false,3,false,3042,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,27297,false,false,false,None,false,false,false,976,false,false,false,false,false,false,false,1118,Others,false,false,28,false,true,false,false,false,false,false,false,false,false,1298,true,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,17731,false,false,false,false,false,false,false,false,false,3,false,3042,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,27297,false,false,true,None,false,false,false,976,false,false,false,false,false,false,false,1118,Others,false,false,28,false,false,false,false,false,false,false,false,false,false,1298,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,17769,false,false,false,false,false,false,false,false,false,8,false,3044,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,27316,false,false,false,None,false,false,false,978,false,false,false,false,false,false,false,1119,String,false,false,28,false,false,false,false,false,false,false,false,false,false,1302,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,17806,false,false,false,false,false,false,false,false,false,23,false,3051,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,27375,false,false,false,None,false,false,true,978,false,false,false,false,false,false,false,1122,Others,false,false,28,false,false,false,false,false,false,false,false,false,true,1306,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,17848,false,false,false,false,false,false,false,false,false,6,false,3052,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,27388,false,false,false,None,true,false,false,979,false,false,false,false,false,false,false,1122,Others,false,false,28,false,false,false,false,false,false,false,false,false,false,1315,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,17936,false,false,false,false,false,false,false,false,true,88,false,3061,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PROTECTED,true,false,false,false,false,false,false,false,false,27662,false,false,false,None,false,false,false,985,false,false,false,false,false,true,false,1132,Others,false,false,29,false,false,false,false,false,false,false,false,false,false,1316,false,false,false,false,false,false,false,PUBLIC,14,false,false,false,ABSTRACT,false,8,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,true,false,false,false,false,false,false,17946,false,false,false,false,false,false,false,false,false,10,false,3063,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,27681,false,false,true,None,false,false,false,987,false,false,false,false,false,false,false,1133,Others,false,false,29,false,false,false,false,false,false,false,false,false,false,1317,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,17963,false,false,false,false,false,false,false,false,false,8,false,3068,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,27703,false,true,false,None,false,false,false,987,false,false,false,false,false,false,false,1133,String,false,false,29,false,false,false,false,false,false,false,false,false,false,1319,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,true,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,true,false,false,false,false,false,false,true,false,false,false,false,18062,false,false,false,false,false,false,false,false,true,5,false,3069,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,27713,false,false,false,None,false,false,false,988,false,false,false,false,false,false,false,1133,Others,false,false,29,false,false,false,false,false,false,false,false,false,false,1338,false,true,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,18062,false,false,false,false,false,false,false,false,false,2,false,3069,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,27715,false,false,false,None,false,false,false,988,false,false,false,false,false,false,false,1133,Others,false,false,29,false,false,false,false,false,false,false,false,false,false,1339,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,18079,false,false,false,false,false,false,false,false,true,6,false,3070,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,27726,false,false,false,None,false,false,false,988,false,false,false,false,false,false,false,1133,Others,false,false,29,false,false,false,false,false,false,false,false,false,false,1342,false,false,false,false,false,false,false,PUBLIC,2,true,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,18092,false,false,false,false,false,false,false,false,false,13,false,3074,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,27758,false,false,false,None,false,false,false,990,true,false,false,false,false,true,false,1133,Native,false,false,30,false,false,false,false,false,false,false,false,false,false,1343,false,false,false,false,false,false,false,PUBLIC,4,false,false,true,ABSTRACT,false,3,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,18128,false,false,false,false,false,false,false,false,false,36,false,3087,true,false,false,false,false,false,true,false,true,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,27856,false,true,false,None,false,false,false,996,false,false,false,false,false,true,false,1139,Others,false,false,30,false,false,false,false,false,false,false,false,false,false,1344,false,false,false,false,false,false,false,PUBLIC,7,false,false,false,DEFAULT,false,1,false,false,Setter,true,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,18172,false,false,false,false,false,false,false,false,false,18,false,3089,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,27917,false,false,true,None,false,false,false,997,false,false,true,false,false,false,false,1140,Others,false,false,30,false,false,false,false,false,false,false,false,false,false,1347,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,13,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,18176,false,false,false,false,false,false,false,false,false,4,false,3090,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,27926,false,false,false,None,false,false,false,997,false,false,false,false,false,false,false,1140,Others,false,false,30,false,false,false,false,false,false,false,false,false,false,1348,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,18180,false,false,false,false,false,false,false,false,false,4,false,3090,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,27934,false,false,false,None,true,false,false,997,false,false,false,false,false,false,false,1140,Others,false,false,30,false,false,false,false,false,false,false,false,false,false,1349,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,18184,false,false,false,false,false,false,false,false,false,4,false,3090,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,27941,false,false,false,None,false,false,false,997,false,false,false,false,false,false,false,1140,Others,false,false,30,false,false,false,false,false,false,false,false,false,false,1350,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +1,1,0,0,1,0,0,1,1,1,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,18204,false,false,false,false,false,false,false,false,false,20,false,3097,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,27990,false,false,false,None,false,false,false,997,false,false,false,false,true,false,false,1144,String,false,false,30,false,false,false,false,false,false,false,false,false,false,1351,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,true,false,false,false,false,18312,false,false,false,false,false,false,false,false,true,5,false,3098,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,28000,false,false,false,None,false,false,false,998,false,false,false,false,false,false,false,1144,Others,false,false,30,false,false,false,false,false,false,false,false,false,false,1372,false,true,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,true,false,false,false,true,true,false,false,false,18393,false,false,false,false,false,false,false,false,true,6,false,3099,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,28013,false,false,false,None,false,false,false,1000,false,false,false,false,false,false,false,1144,Others,false,false,30,false,false,false,false,false,false,false,false,false,false,1381,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,18405,false,true,false,false,false,false,false,false,false,12,false,3103,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,28039,false,false,false,None,false,false,false,1002,false,false,false,false,false,true,false,1145,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1382,false,false,true,false,false,false,true,PUBLIC,4,false,false,false,DEFAULT,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,true,false,false,false,false,true,false,false,false,18449,false,false,false,false,false,false,false,false,false,8,false,3104,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,28061,false,false,true,None,false,false,false,1003,false,false,false,false,false,false,false,1146,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1387,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,18454,false,true,false,false,false,false,false,false,false,5,false,3106,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,28070,false,false,false,None,false,false,false,1003,false,false,false,false,false,false,false,1146,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1388,false,false,false,false,false,false,true,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,18497,false,false,false,false,false,false,false,false,false,4,true,3106,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,28079,false,false,false,None,false,false,false,1003,false,false,false,false,false,false,false,1146,String,false,false,31,false,false,false,false,false,false,false,false,false,false,1399,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,18525,false,false,false,false,false,false,false,false,false,28,true,3115,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,28158,false,false,false,None,false,false,false,1008,false,false,false,false,false,true,false,1153,Others,false,false,31,false,true,false,false,false,false,false,false,false,false,1400,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,18545,false,false,false,false,false,false,false,false,false,20,false,3125,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,28210,false,false,false,None,false,false,false,1013,false,false,false,false,false,true,false,1154,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1401,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,true,false,false,false,false,true,false,false,false,18579,false,false,false,false,false,false,false,false,false,34,false,3146,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,28304,false,false,false,None,false,false,false,1024,false,true,false,false,false,false,false,1155,String,false,false,31,false,false,false,false,false,false,false,false,false,false,1402,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,true,false,false,false,false,true,false,false,false,18594,false,false,false,false,false,false,false,false,false,15,false,3150,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,28342,false,false,false,None,false,false,false,1026,false,false,false,false,false,false,false,1157,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1403,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,18711,false,true,false,false,false,false,false,false,false,6,false,3151,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,28357,false,false,false,None,false,false,false,1026,false,false,false,false,false,false,false,1157,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1409,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,18715,false,false,false,false,false,false,false,false,true,4,false,3152,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,28363,false,false,false,None,false,false,false,1026,false,false,false,false,false,false,false,1157,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1410,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,18715,false,false,false,false,false,false,false,false,false,4,false,3152,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,28363,false,false,true,None,false,false,false,1026,false,false,false,false,false,false,false,1157,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1410,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,18754,false,false,false,false,false,false,false,false,false,11,false,3153,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,28385,false,false,false,None,false,false,false,1026,false,false,false,false,false,false,false,1157,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1414,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,7,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,true,false,false,false,false,false,false,false,false,false,false,false,18798,false,false,false,false,false,false,false,false,false,8,false,3154,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,28404,false,false,false,None,false,false,false,1027,false,false,false,false,false,false,false,1157,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1419,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,19083,false,false,false,false,false,false,false,false,true,5,false,3156,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PROTECTED,true,false,false,false,false,false,false,false,false,28418,false,false,false,None,false,false,false,1029,false,false,false,false,false,false,false,1157,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1434,false,false,false,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,19083,false,false,false,false,false,false,false,false,false,5,false,3156,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,28418,false,false,false,None,false,false,false,1029,false,false,false,false,false,false,false,1157,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1434,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,19103,false,false,false,false,false,false,false,false,false,4,false,3157,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,28427,false,false,false,None,true,false,false,1030,false,false,false,false,false,false,false,1157,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1444,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,19141,false,false,false,false,false,false,false,true,false,38,false,3170,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,DEFAULT,false,true,false,false,false,false,false,false,false,28518,false,false,false,None,false,false,false,1034,false,false,false,false,false,false,false,1164,String,false,false,31,false,false,false,false,false,false,false,false,false,false,1445,false,false,false,false,false,false,false,PUBLIC,1,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,true,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,19186,false,false,false,false,false,false,false,false,true,17,false,3172,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,28555,false,false,false,None,false,false,false,1036,false,false,false,false,false,true,false,1167,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1448,false,true,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,3,false,false,None,false,true,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,19190,false,false,false,false,false,false,false,false,false,4,false,3172,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,28561,false,false,false,None,false,false,false,1036,false,false,false,false,false,false,false,1167,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1449,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,FINAL,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,19236,false,false,false,false,false,false,false,false,false,4,false,3173,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,28570,false,false,false,None,true,false,false,1037,false,false,false,false,false,false,false,1167,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1459,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,19266,false,false,false,false,false,false,false,false,true,13,false,3175,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,28604,false,false,false,None,false,false,false,1038,false,false,false,false,false,false,false,1169,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1461,false,false,false,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,19274,false,false,false,false,false,false,false,false,false,8,false,3177,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,28621,false,false,false,None,false,false,false,1039,false,false,false,false,false,false,false,1171,Native,false,false,31,false,false,false,false,false,false,false,false,false,false,1462,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,19289,false,false,false,false,false,false,false,false,false,9,false,3178,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,28639,false,false,false,None,false,false,false,1039,false,false,false,false,false,false,false,1171,Native,false,false,31,false,false,false,false,false,false,false,false,false,false,1464,false,false,false,false,false,false,false,PUBLIC,0,true,false,true,DEFAULT,false,5,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,19292,false,false,false,false,false,false,false,false,false,3,false,3179,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,28645,false,false,false,None,false,false,false,1039,false,false,false,false,false,true,false,1171,String,false,false,31,false,false,false,false,false,false,false,false,false,false,1465,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,true,false,false,false,false,true,false,false,false,19349,false,false,false,false,false,false,false,false,false,57,false,3207,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,28801,false,false,false,None,false,false,false,1041,false,false,false,false,false,true,false,1178,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1466,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,19369,false,false,false,false,false,false,false,false,false,20,false,3215,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,28860,false,false,false,None,false,false,false,1041,false,false,false,false,false,false,false,1183,Native,false,false,31,false,false,false,false,false,false,false,false,false,false,1467,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,true,false,false,false,false,false,true,false,false,false,false,false,19496,false,true,false,false,false,false,false,false,false,20,false,3221,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,28908,false,false,false,None,false,false,true,1043,false,false,false,false,false,false,false,1188,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1477,false,false,false,false,false,false,true,PUBLIC,1,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,19529,false,false,false,false,false,false,false,false,true,3,false,3221,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,28914,false,false,false,None,false,false,false,1043,false,false,false,false,false,false,false,1188,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1480,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,true,false,19574,false,false,false,false,false,false,false,true,false,5,false,3223,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,28926,false,false,false,None,false,false,false,1044,false,false,false,false,false,true,false,1188,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1484,false,false,false,false,false,true,false,PUBLIC,2,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,FINAL,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,1,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,19625,false,false,false,false,false,false,false,false,false,8,true,3224,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,28945,false,false,false,None,false,false,false,1045,false,false,false,false,false,false,false,1189,String,false,false,31,false,false,false,false,false,false,false,false,false,false,1488,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,19661,false,true,false,false,false,false,false,false,false,5,false,3225,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,28955,false,false,false,None,false,false,false,1046,false,false,false,false,false,false,false,1189,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1492,false,false,true,false,false,false,true,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,19720,false,false,false,false,false,false,false,false,false,6,false,3226,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,28970,false,false,false,None,false,false,false,1046,false,false,false,false,false,false,false,1189,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1499,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,19753,false,false,false,false,false,false,false,false,false,4,false,3226,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,28980,false,false,false,None,false,false,false,1046,false,false,false,false,false,false,false,1189,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1504,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,19753,false,false,false,false,false,false,false,false,false,8,false,3228,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,29000,false,false,false,None,false,false,false,1046,false,false,false,false,false,false,false,1189,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1506,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,19753,false,false,false,false,false,false,false,false,false,8,false,3228,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,29000,false,false,true,None,false,false,false,1046,false,false,false,false,false,false,false,1189,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1506,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,19880,false,false,false,false,false,false,false,false,false,5,false,3229,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,29010,false,false,true,None,false,false,false,1047,false,false,true,false,false,false,false,1189,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1516,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,19880,false,false,false,false,false,false,false,false,false,5,false,3229,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,29010,false,false,false,None,false,false,false,1047,false,false,false,false,false,false,false,1189,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1516,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,4,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,19968,false,false,false,false,false,false,false,false,true,7,false,3231,true,false,false,false,true,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,29028,false,false,false,None,false,false,false,1049,false,false,false,false,false,false,false,1189,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1526,false,true,false,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,3,false,false,None,false,true,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,20009,false,false,false,false,false,false,false,false,false,4,false,3232,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,29039,false,false,false,None,false,false,false,1049,false,false,false,false,false,false,false,1189,Others,false,false,31,false,false,false,false,false,false,false,false,false,true,1531,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,20014,false,false,false,false,false,false,false,false,false,5,false,3233,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,29049,false,false,false,None,false,false,false,1050,false,false,false,false,false,false,false,1189,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1532,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,20020,false,false,false,false,false,false,false,false,true,2,false,3233,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,29052,false,false,true,None,false,false,false,1050,false,false,false,false,false,false,false,1189,Native,false,false,31,false,false,false,false,false,false,false,false,false,false,1534,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,20020,false,false,false,false,false,false,false,false,false,2,false,3233,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,29052,false,false,true,None,false,false,false,1050,false,false,false,false,false,false,false,1189,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1534,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,20020,false,false,false,false,false,false,false,false,false,2,false,3233,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,29052,false,false,false,None,true,false,false,1050,false,false,false,false,false,false,false,1189,String,false,false,31,false,false,false,false,false,false,false,false,false,false,1534,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,true,false,false,false,false,true,false,false,false,20074,false,false,false,false,false,false,false,false,false,10,false,3234,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,29078,false,false,true,None,false,false,false,1051,false,false,false,false,false,false,false,1190,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1540,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,20114,false,false,false,false,false,false,false,false,false,6,false,3235,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,29095,false,false,false,None,false,false,false,1051,false,false,false,false,false,false,false,1190,String,false,false,31,false,true,false,false,false,false,false,false,false,false,1545,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,1,1,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,20178,false,false,false,false,false,false,false,false,false,64,false,3265,true,false,false,false,false,false,true,false,true,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,29279,false,true,false,None,false,false,true,1060,false,false,false,false,false,true,false,1196,Others,false,false,31,false,true,false,false,false,false,false,true,false,false,1546,true,true,false,false,false,false,false,DEFAULT,4,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,true,false,false,false,false,false,true,false,false,false,false,false,20314,false,false,false,false,false,false,false,false,false,9,false,3266,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,29299,false,false,false,None,false,false,false,1060,false,false,false,false,false,false,false,1196,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1557,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,20317,false,false,false,false,false,false,false,false,false,3,false,3266,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,29305,false,false,false,None,false,false,false,1060,false,false,false,false,false,false,false,1196,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1558,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,1,0,0,1,0,0,1,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,20337,false,false,false,false,false,false,false,false,false,20,false,3271,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,29365,false,false,false,None,true,false,false,1060,false,false,false,false,false,false,false,1196,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1559,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,20347,false,false,false,false,false,false,false,false,false,10,false,3273,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,29389,false,false,false,None,false,false,false,1061,false,false,false,false,false,false,false,1198,String,false,false,31,false,false,false,false,false,false,false,false,false,false,1560,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,20371,false,false,false,false,false,false,false,false,false,24,false,3283,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,29450,false,true,false,None,false,false,false,1061,false,false,false,false,false,false,false,1203,String,false,false,31,false,false,false,false,false,false,false,false,false,false,1561,false,false,false,false,false,false,false,PUBLIC,1,false,false,true,ABSTRACT,true,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,20613,false,false,false,false,false,false,false,false,false,4,false,3283,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,29459,false,false,false,None,false,false,false,1061,false,false,false,false,false,false,false,1203,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1569,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,20615,false,false,false,false,false,false,false,false,false,2,false,3283,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,29462,false,false,false,None,false,false,false,1061,false,false,false,false,false,false,false,1203,Native,false,false,31,false,false,false,false,false,false,false,false,false,false,1570,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,20615,false,false,false,false,false,false,false,false,false,2,false,3283,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,29462,false,false,true,None,false,false,false,1061,false,false,false,false,false,false,false,1203,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1570,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,20618,false,false,false,false,false,false,false,false,false,3,false,3283,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,29468,false,false,false,None,false,false,false,1061,false,false,false,false,false,false,false,1203,Native,false,false,31,false,false,false,false,false,false,false,false,false,false,1571,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,false,5,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,20618,false,false,false,false,false,false,false,false,false,3,false,3283,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,29468,false,false,false,None,false,false,false,1061,false,false,false,false,false,false,false,1203,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1571,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,20618,false,false,false,false,false,false,false,false,false,3,false,3283,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,29468,false,false,true,None,false,false,false,1061,false,false,false,false,false,false,false,1203,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1571,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,20618,false,false,false,false,false,false,false,false,false,3,false,3283,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,29468,false,false,false,None,false,false,false,1061,false,false,false,false,false,false,false,1203,String,false,false,31,false,false,false,false,false,false,false,false,false,false,1571,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,true,false,true,false,false,false,false,false,false,false,false,false,20632,false,false,false,false,false,false,false,false,false,5,false,3284,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,29478,false,false,false,None,false,false,false,1062,false,false,false,false,false,true,false,1203,Others,false,false,31,false,false,false,false,false,false,false,false,false,false,1574,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,20636,false,false,false,false,false,false,false,false,false,4,false,3284,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,29488,false,false,false,None,false,false,false,1062,false,false,false,false,false,false,false,1203,Native,false,false,32,false,false,false,false,false,false,false,false,false,false,1575,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,20639,false,false,false,false,false,false,false,false,false,3,false,3285,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,29494,false,false,false,None,false,false,false,1062,false,false,false,false,false,false,false,1203,Others,false,false,32,false,false,false,false,false,false,false,false,false,false,1576,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,20665,false,false,false,false,false,false,false,false,false,26,false,3294,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,29553,false,false,false,None,false,false,false,1064,false,false,false,false,false,true,false,1207,Native,false,false,32,false,false,false,false,false,false,false,false,false,false,1577,false,false,false,false,false,false,true,PUBLIC,1,false,false,true,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,20709,false,false,false,false,false,false,false,false,true,4,false,3295,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,29562,false,false,false,None,false,false,false,1065,false,false,false,false,false,false,false,1207,Native,false,false,32,false,false,false,false,false,false,false,false,false,false,1587,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,20739,false,false,false,false,false,false,false,false,false,30,false,3311,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,29644,false,false,true,None,false,false,false,1065,false,false,true,false,false,false,false,1212,Others,false,false,32,false,false,false,false,false,false,false,false,false,false,1588,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,5,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,21067,false,false,false,false,false,false,false,false,false,86,false,3332,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,29831,true,false,false,None,false,false,false,1067,false,false,false,false,false,true,false,1236,Native,false,false,32,false,false,false,false,false,false,false,false,false,false,1597,false,false,false,false,false,false,false,PUBLIC,17,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,21091,false,false,false,false,false,false,false,false,false,4,false,3334,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,29840,false,false,false,None,true,false,false,1069,false,false,false,false,false,false,false,1236,String,false,false,32,false,false,false,false,false,false,false,false,false,false,1603,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,21139,false,false,false,false,false,false,false,false,true,4,false,3335,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,29849,false,false,false,None,false,false,false,1070,false,false,false,false,false,false,false,1236,Native,false,false,32,false,false,false,false,false,false,false,false,false,false,1614,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,21155,false,false,false,false,false,false,false,false,false,16,false,3339,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,29885,false,false,false,None,false,false,false,1073,true,false,false,false,false,false,false,1238,Native,false,false,33,false,false,false,false,false,false,false,false,false,false,1615,false,false,false,false,false,false,false,PUBLIC,1,false,false,true,DEFAULT,false,3,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,21236,false,false,false,false,false,false,false,false,false,81,false,3360,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,30088,false,false,false,None,false,false,false,1083,false,false,false,false,false,false,false,1258,Others,false,false,33,false,false,false,true,false,false,false,false,false,false,1616,false,true,false,false,true,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,1,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,21243,false,false,false,false,false,false,false,false,false,7,false,3362,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,30105,false,false,false,None,true,false,false,1084,false,false,false,false,false,false,false,1258,Others,false,false,33,false,false,false,false,false,true,false,false,false,false,1617,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,true,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,21259,false,false,false,false,false,false,false,false,false,16,false,3365,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,30141,false,true,false,None,true,false,false,1087,false,false,false,false,false,false,false,1261,Others,false,false,33,false,false,false,false,false,false,false,false,false,false,1618,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,21309,false,false,false,false,false,false,false,false,false,6,false,3366,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,30156,false,false,true,None,false,false,false,1088,false,false,true,false,false,false,false,1261,Others,false,false,33,false,false,false,false,false,false,false,false,false,false,1622,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,21407,false,false,false,false,false,false,false,false,false,28,false,3375,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,30230,false,false,false,None,false,false,false,1093,false,false,false,false,false,false,false,1266,Others,false,false,33,false,false,false,false,false,false,false,false,false,false,1626,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,21534,false,false,false,false,false,false,false,false,true,99,false,3404,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PRIVATE,true,false,false,false,false,false,false,false,false,30489,true,false,false,None,false,false,false,1112,false,false,false,false,false,true,false,1288,Others,false,false,33,false,false,false,false,false,true,false,false,false,false,1628,false,false,false,false,false,false,true,PUBLIC,43,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,21537,false,false,false,false,false,false,false,false,true,3,false,3404,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,30495,false,false,false,None,false,false,false,1112,false,false,false,false,false,false,false,1288,Native,false,false,33,false,false,false,false,false,false,false,false,false,false,1629,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,21583,false,false,false,false,false,false,false,false,false,4,false,3405,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,30504,false,false,false,None,true,false,false,1113,false,false,false,false,false,false,false,1288,String,false,false,33,false,false,false,false,false,false,false,false,false,false,1639,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,21600,false,false,false,false,false,false,false,false,false,17,false,3406,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,30543,false,false,false,None,false,false,false,1114,false,false,false,false,false,false,false,1289,String,false,false,33,false,false,false,false,false,false,false,false,false,false,1640,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,21710,false,true,false,false,false,false,false,false,false,37,false,3414,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,30641,false,false,true,None,false,false,false,1121,false,false,false,false,false,true,false,1295,Others,false,false,33,false,false,false,false,false,false,false,false,false,false,1643,false,false,false,false,false,false,false,PUBLIC,7,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,21791,false,false,false,false,false,false,false,false,false,7,false,3415,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,30659,false,false,false,None,false,false,false,1121,false,false,false,false,false,false,false,1295,Others,false,false,33,false,false,false,false,false,false,false,false,false,false,1646,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,21820,false,false,false,false,false,false,false,false,false,14,false,3419,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,30695,false,false,true,None,false,false,false,1122,false,false,true,false,false,false,false,1297,Others,false,false,33,false,false,false,false,false,false,false,false,false,false,1658,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,21984,false,false,false,false,false,false,false,false,false,116,false,3439,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31043,false,false,false,None,false,false,false,1124,true,false,false,false,false,false,false,1314,String,false,false,33,false,false,false,false,false,false,false,false,false,false,1660,false,false,false,false,false,false,false,PUBLIC,7,false,false,false,DEFAULT,false,1,false,false,Setter,false,true,false,FINAL,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,21984,false,false,false,false,false,false,false,false,false,116,false,3439,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,31043,false,false,false,None,true,false,false,1124,false,false,false,false,false,false,false,1314,String,false,false,33,false,false,false,false,false,false,false,false,false,false,1660,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,22025,false,false,false,false,false,false,false,false,false,4,false,3440,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,31053,false,false,false,None,false,false,false,1125,false,false,false,false,false,false,false,1314,String,false,false,33,false,false,false,false,false,false,false,false,false,false,1664,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +1,1,0,0,0,0,0,0,0,1,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,22030,false,false,false,false,false,false,false,false,false,5,false,3441,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,PUBLIC,false,false,false,true,false,false,false,false,false,31065,false,false,false,None,false,false,false,1126,false,false,false,false,false,false,false,1314,Others,false,false,33,false,false,false,false,false,false,false,false,false,false,1665,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,true,true,false,false,false,22154,false,false,false,false,false,false,false,false,false,124,false,3485,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31411,false,false,false,None,false,false,false,1133,false,false,false,false,false,true,false,1348,Native,false,false,33,false,false,false,false,false,false,false,false,false,false,1666,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,22240,false,false,false,false,false,false,false,false,false,5,false,3486,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31424,false,false,false,None,false,false,false,1133,false,false,false,false,false,false,false,1348,Others,false,false,33,false,false,false,false,false,false,false,false,false,false,1670,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,22362,false,true,false,false,false,false,false,false,false,5,false,3487,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31434,false,false,false,None,false,false,false,1134,false,false,false,false,false,false,false,1348,Others,false,false,33,false,false,false,false,false,false,false,false,false,false,1677,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,22366,false,false,false,false,false,false,false,false,false,4,false,3488,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31443,false,false,false,None,false,false,false,1134,false,false,false,false,false,false,false,1348,Native,false,false,33,false,false,false,false,false,false,false,false,false,false,1678,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,22450,false,false,false,false,false,false,false,false,false,6,false,3489,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31459,false,false,false,None,false,false,false,1134,false,false,false,false,false,false,false,1348,Others,false,false,33,false,false,false,false,false,false,false,false,false,false,1687,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,2,false,false,false,false,false,true,false,false,false,false,false,false,false,22463,false,false,false,false,false,false,false,true,false,13,false,3491,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31496,false,false,false,None,false,false,false,1136,false,false,false,false,false,false,false,1349,Others,false,false,33,false,false,false,false,false,false,false,false,false,false,1688,false,false,false,false,false,false,false,PUBLIC,1,false,false,true,DEFAULT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,22467,false,false,false,false,false,false,false,false,false,13,false,3491,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31496,false,false,false,None,false,false,false,1136,false,false,false,false,false,false,false,1349,Others,false,false,33,false,false,false,false,false,false,false,false,false,false,1689,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,22487,false,false,false,false,false,false,false,false,false,5,false,3492,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31506,false,false,false,None,false,false,false,1136,false,false,false,false,false,false,false,1349,Others,false,false,33,false,false,false,false,false,false,false,false,false,false,1692,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,1,0,1,0,0,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,22494,false,false,false,false,false,false,false,false,false,7,false,3494,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31522,false,false,false,None,false,false,false,1137,false,false,false,false,false,false,false,1349,Others,false,false,33,false,true,false,false,false,false,false,false,false,false,1693,true,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,22494,false,false,false,false,false,false,false,false,false,7,false,3494,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31522,false,false,true,None,false,false,false,1137,false,false,false,false,false,false,false,1349,Others,false,false,33,false,false,false,false,false,false,false,false,false,false,1693,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,true,false,false,false,false,true,false,false,false,22557,false,false,false,false,false,false,false,false,false,9,false,3495,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,31546,false,false,true,None,false,false,false,1138,false,false,false,false,false,false,false,1350,Others,false,false,33,false,false,false,false,false,false,false,false,false,false,1700,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,1,0,true,0,false,false,false,false,false,false,false,false,false,false,false,false,false,22561,false,false,false,false,false,false,false,false,false,4,false,3496,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31555,false,false,false,None,false,false,false,1138,false,false,false,false,false,false,false,1350,String,false,false,33,true,false,false,false,false,false,false,false,false,false,1701,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,true,FINAL,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,22567,false,false,false,false,false,false,false,false,false,6,false,3496,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31568,false,false,false,None,false,false,false,1138,false,false,false,false,false,false,false,1350,Others,false,false,33,false,false,false,false,false,false,false,false,false,false,1702,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,22584,false,true,false,false,false,false,false,false,false,17,false,3501,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31615,false,false,false,None,false,false,true,1140,false,false,false,false,false,false,false,1353,Others,false,false,33,false,false,false,false,false,false,false,false,false,false,1703,false,false,true,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,22584,false,false,false,false,false,false,false,false,false,17,false,3501,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31615,false,false,false,None,true,false,false,1140,false,false,false,false,false,false,false,1353,Others,false,false,33,false,false,false,false,false,false,false,false,false,false,1703,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,22606,false,false,false,false,false,false,false,false,false,11,false,3506,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31645,false,false,false,None,false,false,false,1142,false,false,false,false,false,true,false,1354,Others,false,false,33,false,false,false,false,false,false,false,false,false,false,1705,false,false,false,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,22733,false,true,false,false,false,false,false,false,false,5,false,3508,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31657,false,false,false,None,false,false,false,1143,false,false,false,false,false,false,false,1354,Others,false,false,33,false,false,false,false,false,false,false,false,false,false,1713,false,false,false,false,false,false,true,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,22733,false,false,false,false,false,false,false,false,false,5,false,3508,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31657,false,false,true,None,false,false,false,1143,false,false,false,false,false,false,false,1354,Others,false,false,33,false,false,false,false,false,false,false,false,false,false,1713,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,22758,false,true,false,false,false,false,false,false,false,13,false,3512,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31686,false,false,false,None,false,false,false,1145,false,false,false,false,false,true,false,1355,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1715,false,false,true,false,false,false,true,PUBLIC,4,false,false,false,DEFAULT,false,3,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,22889,false,true,false,false,false,false,false,false,false,4,false,3513,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31693,false,false,false,None,false,false,false,1146,false,false,false,false,false,false,false,1355,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1724,false,false,false,false,false,false,true,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,23031,false,true,false,false,false,false,false,false,false,6,false,3515,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31706,false,false,false,None,false,false,false,1147,false,false,false,false,false,false,false,1356,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1736,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,true,false,23056,false,false,false,false,false,false,false,true,false,25,false,3529,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,31774,false,false,false,None,false,false,false,1154,false,false,false,false,false,true,false,1362,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1737,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,true,5,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,23060,false,false,false,false,false,false,false,false,false,4,false,3530,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,31783,false,false,false,None,false,false,false,1154,false,false,false,false,false,false,false,1362,Native,false,false,34,false,false,false,false,false,false,false,false,false,false,1738,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,23116,false,false,false,false,false,false,false,false,false,18,false,3535,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,31829,false,false,true,None,false,false,false,1158,false,false,false,false,false,false,false,1364,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1741,false,false,false,false,false,false,false,PUBLIC,5,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,23248,false,false,false,false,false,false,false,false,false,5,false,3536,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31839,false,false,true,None,false,false,false,1159,false,false,true,false,false,false,false,1364,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1752,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,23336,false,false,false,false,false,false,false,false,true,5,false,3536,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31839,false,false,false,None,false,false,false,1159,false,false,false,false,false,false,false,1364,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1753,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,false,false,false,false,false,23345,false,false,false,false,false,false,false,false,false,9,false,3537,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31859,false,false,false,None,false,false,false,1159,false,false,false,false,false,false,false,1364,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1754,true,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,23541,false,false,false,false,false,false,false,false,true,11,false,3539,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31885,false,false,false,None,false,false,false,1159,false,false,false,false,false,false,false,1366,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1758,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,23557,false,false,false,false,false,false,false,false,false,9,false,3543,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,31909,false,false,false,None,true,false,false,1162,false,false,false,false,false,false,false,1366,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1760,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,true,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,23577,true,false,false,false,false,false,false,false,false,20,false,3547,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31949,false,false,true,None,false,false,false,1162,false,false,false,false,false,false,false,1369,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1761,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,false,5,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,23594,false,false,false,false,false,false,false,false,false,20,false,3547,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31949,false,false,false,None,false,false,false,1162,false,false,false,false,false,false,false,1369,Native,false,false,34,false,false,false,false,false,false,false,false,false,false,1764,false,false,false,false,false,false,false,PUBLIC,0,true,false,false,ABSTRACT,false,2,false,true,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,23594,false,false,false,false,false,false,false,false,false,20,false,3547,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31949,false,false,true,None,false,false,false,1162,false,false,false,false,false,false,false,1369,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1764,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,23602,false,false,false,false,false,false,false,false,false,8,false,3549,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31970,false,false,false,None,false,false,false,1164,true,false,false,false,false,false,false,1370,Native,false,false,34,false,false,false,false,false,false,false,false,false,false,1765,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,ABSTRACT,false,0,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,23602,false,false,false,false,false,false,false,false,false,3,false,3550,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,31974,false,false,false,None,false,false,false,1164,true,false,false,false,false,false,false,1370,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1766,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,23641,false,false,false,false,false,false,false,false,false,39,false,3561,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,PRIVATE,false,false,false,false,false,false,false,false,true,32075,false,false,false,None,false,false,false,1164,false,false,false,false,false,false,false,1377,String,false,false,34,false,false,false,false,false,false,false,false,false,false,1767,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,23670,false,false,false,false,false,false,false,false,false,21,false,3566,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,32129,false,false,true,None,false,false,false,1166,false,false,true,false,false,false,false,1381,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1780,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,25475,false,false,false,false,false,false,false,false,true,7,false,3566,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,32141,false,false,false,None,false,false,false,1166,false,false,false,false,false,false,false,1383,Native,false,false,34,false,false,false,false,false,false,false,false,false,false,1783,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,2,false,true,false,false,false,false,false,false,false,false,false,false,false,25529,false,false,false,false,false,false,false,false,false,10,false,3567,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,32163,false,false,false,None,false,false,false,1166,false,false,false,false,false,false,false,1383,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1789,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,25534,false,false,false,false,false,false,false,false,false,5,false,3569,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,32175,false,false,false,None,false,false,false,1167,false,false,false,false,false,false,false,1383,Native,false,false,34,false,false,false,false,false,false,false,false,false,false,1790,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,25534,false,false,false,false,false,false,false,false,false,5,false,3569,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,32175,false,false,false,None,false,false,false,1167,false,false,false,false,false,false,false,1383,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1790,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,5,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,25546,false,false,false,false,false,false,false,false,false,3,false,3569,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,32181,false,false,false,None,false,false,false,1167,false,false,false,false,false,false,false,1383,String,false,false,34,false,false,false,false,false,false,false,false,false,false,1794,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,1,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,25550,false,false,false,false,false,false,false,false,false,4,false,3570,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,32190,false,true,false,None,false,false,false,1168,false,false,false,false,false,false,false,1383,String,false,false,34,true,false,false,false,false,false,false,false,false,false,1795,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,25550,false,false,false,false,false,false,false,false,false,4,false,3570,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,32190,false,false,true,None,false,false,false,1168,false,false,false,false,false,false,false,1383,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1795,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,true,false,25594,false,false,false,false,false,false,false,true,false,19,false,3581,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,true,false,false,false,false,false,false,32243,false,false,false,None,false,false,false,1172,false,false,false,false,false,true,false,1385,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1797,false,false,false,false,false,false,false,PUBLIC,4,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,true,5,false,true,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,25934,false,false,false,false,false,false,false,false,false,12,false,3583,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,32271,false,false,false,None,false,false,false,1172,false,false,false,false,false,false,false,1387,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1807,false,false,false,false,false,false,true,PUBLIC,2,false,false,false,DEFAULT,false,2,false,false,Setter,false,true,false,STATIC,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,25955,false,false,false,false,false,false,false,false,false,10,false,3587,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,32295,false,false,false,None,false,false,false,1175,false,false,false,false,false,true,false,1388,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1809,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,26085,false,false,false,false,false,false,false,false,true,42,false,3596,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PRIVATE,true,false,false,false,false,false,false,false,false,32425,false,false,false,None,false,false,false,1178,false,false,false,false,false,false,false,1395,Others,false,false,34,false,false,false,true,false,false,false,false,false,false,1820,false,false,false,false,false,false,false,PUBLIC,8,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,true,false,26194,false,false,false,false,false,false,false,false,false,78,false,3614,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,32586,true,false,false,None,true,false,false,1180,false,false,false,false,false,false,false,1415,Native,false,false,34,false,false,false,false,false,false,false,false,false,false,1822,false,false,false,false,false,false,false,PUBLIC,12,false,false,false,DEFAULT,false,2,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,26218,false,false,false,false,false,false,false,false,false,4,false,3615,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,32595,false,false,false,None,true,false,false,1181,false,false,false,false,false,false,false,1415,String,false,false,34,false,false,false,false,false,false,false,false,false,false,1833,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,26228,false,false,false,true,false,false,false,false,false,10,false,3617,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,32622,false,false,false,None,false,false,false,1183,false,false,false,false,false,false,false,1416,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1834,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,0,false,false,Setter,false,false,false,FINAL,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,26233,false,false,false,false,false,false,false,false,false,5,false,3617,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,32632,false,false,false,None,false,false,false,1183,false,false,false,false,false,false,false,1416,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1835,true,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,26378,false,false,false,false,false,false,false,false,false,13,false,3621,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,32661,false,false,true,None,false,false,false,1184,false,false,true,false,false,false,false,1417,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1847,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,26378,false,false,false,false,false,false,false,false,false,13,false,3621,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,32661,false,false,false,None,false,false,false,1184,false,false,false,false,false,false,false,1417,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1847,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,true,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,26539,false,false,false,false,false,false,false,false,false,16,false,3626,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,32698,false,false,true,None,false,false,false,1186,false,false,true,false,false,false,false,1418,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1860,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,5,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,26952,false,false,false,false,false,false,false,false,true,128,false,3648,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PROTECTED,true,false,false,false,false,false,false,false,true,33111,false,false,false,None,false,false,false,1198,false,false,false,false,false,true,false,1447,Native,false,false,34,false,false,false,false,false,false,false,false,false,false,1876,false,false,false,false,false,false,false,PUBLIC,44,false,false,true,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,26957,false,false,false,false,false,false,false,false,true,5,false,3648,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,33123,false,false,false,None,false,false,false,1198,false,false,false,false,false,false,false,1447,Native,false,false,34,false,false,false,false,false,false,false,false,false,false,1877,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,26957,false,false,false,false,false,false,false,false,false,8,false,3650,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,33145,false,false,false,None,false,false,false,1199,false,false,false,false,false,false,false,1447,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1880,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,26972,false,false,false,false,false,false,false,false,false,15,false,3653,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,33182,false,false,false,None,false,false,false,1201,false,false,false,false,false,false,false,1449,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1881,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,27153,false,false,false,false,false,false,false,false,true,21,false,3658,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,33241,false,false,false,None,false,false,false,1205,false,false,false,false,false,true,false,1452,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1887,false,true,false,false,false,false,false,PUBLIC,10,true,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,27153,false,false,false,false,false,false,false,false,false,21,false,3658,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,33241,false,false,false,None,false,false,false,1205,false,false,false,false,false,false,false,1452,String,false,false,34,false,false,false,false,false,false,false,false,false,false,1887,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,27340,false,false,false,false,false,false,true,false,true,6,false,3660,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,33255,false,false,false,None,false,false,false,1206,false,false,false,false,false,false,false,1452,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1894,false,false,false,false,false,false,false,PUBLIC,4,true,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,5,false,false,2,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,27368,false,false,false,false,false,false,false,false,false,8,false,3661,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,33271,false,false,false,None,false,false,false,1206,false,false,false,false,false,false,false,1452,Native,false,false,34,false,false,false,false,false,false,false,false,false,false,1898,false,false,false,false,false,false,false,PUBLIC,0,true,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,true,false,false,false,false,true,false,false,false,27398,false,false,false,false,false,false,false,false,false,30,false,3671,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,33349,false,false,false,None,false,false,false,1211,false,false,false,false,false,false,false,1459,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1899,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,27398,false,false,false,false,false,false,false,false,false,30,false,3671,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,33349,false,false,true,None,false,false,false,1211,false,false,false,false,false,false,false,1459,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1899,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,27474,false,false,false,false,false,false,false,false,true,5,false,3672,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,33359,false,false,false,None,false,false,false,1212,false,false,false,false,false,false,false,1459,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1906,false,true,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,27474,false,false,false,false,false,false,false,false,false,5,false,3672,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,33359,false,false,false,None,false,false,false,1212,false,false,false,false,false,false,false,1459,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1906,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,27474,false,false,false,false,false,false,false,false,false,5,false,3672,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,33359,false,false,true,None,false,false,false,1212,false,false,false,false,false,false,false,1459,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1906,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,27493,false,false,false,false,false,false,false,false,false,19,false,3673,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,33411,false,false,false,None,false,false,false,1212,false,false,false,false,false,false,false,1463,Native,false,false,34,false,false,false,false,false,false,false,false,false,false,1907,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,27500,false,false,false,false,false,false,false,false,false,7,false,3674,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,33427,false,false,false,None,false,false,false,1212,false,false,false,false,false,false,false,1464,Native,false,false,34,false,false,false,false,false,false,false,false,false,false,1908,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,27546,false,false,false,false,false,false,false,false,true,16,false,3676,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,33461,false,false,false,None,false,false,false,1214,false,false,false,false,false,true,false,1467,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1911,false,true,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,2,false,false,None,false,true,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,27581,false,false,false,false,false,false,false,false,false,35,false,3683,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,33553,false,false,false,None,false,false,false,1216,false,false,false,false,false,false,false,1478,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1912,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,FINAL,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,29388,false,false,false,false,false,false,false,false,true,2,false,3683,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,33556,false,false,false,None,false,false,false,1216,false,false,false,false,false,false,false,1478,Native,false,false,34,false,false,false,false,false,false,false,false,false,false,1916,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,29417,false,false,false,false,false,false,false,false,false,14,false,3687,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,33592,false,false,true,None,false,false,false,1217,false,false,true,false,false,false,false,1480,Others,false,false,34,false,false,false,false,false,false,false,false,false,false,1929,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,29450,false,false,false,false,false,false,false,false,false,6,false,3688,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,33606,false,false,false,None,false,false,false,1217,false,false,false,false,false,false,false,1480,String,false,false,35,false,false,false,false,false,false,false,false,false,false,1932,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,29481,false,false,false,false,false,false,false,false,false,31,false,3697,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,33692,false,false,false,None,false,false,false,1221,false,false,false,false,false,true,false,1486,Native,false,false,35,false,false,false,false,false,false,false,false,false,false,1933,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,29550,false,false,false,false,false,false,false,false,false,2,false,3697,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,33694,false,false,false,None,false,false,false,1221,false,false,false,false,false,false,false,1486,Others,false,false,35,false,false,false,false,false,false,false,false,false,false,1934,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,29550,false,false,false,false,false,false,false,false,false,2,false,3697,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,33694,false,false,true,None,false,false,false,1221,false,false,false,false,false,false,false,1486,Others,false,false,35,false,false,false,false,false,false,false,false,false,false,1934,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,4,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,29613,false,false,false,false,false,false,false,false,false,4,false,3697,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,33704,false,false,false,None,false,false,false,1221,false,false,false,false,false,false,false,1486,Others,false,false,35,false,false,false,false,false,false,false,false,false,false,1942,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,29641,false,true,false,false,false,false,false,false,false,11,false,3702,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,33731,false,false,false,None,false,false,false,1223,false,false,false,false,false,false,false,1486,Others,false,false,35,false,false,false,false,false,false,false,false,false,false,1944,false,false,true,true,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,5,false,false,Setter,false,true,false,STATIC,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,true,false,false,false,false,true,false,false,false,29680,false,true,false,false,false,false,false,false,false,11,false,3704,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,33758,false,false,false,None,false,false,false,1224,false,false,false,false,false,false,false,1486,Others,false,false,36,false,false,false,false,false,false,false,false,false,false,1947,false,false,true,true,false,false,true,PUBLIC,0,false,false,false,DEFAULT,false,7,false,false,Setter,false,true,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,29723,false,false,false,false,false,false,false,false,true,10,false,3705,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PROTECTED,true,false,false,false,false,false,false,false,false,33786,false,false,false,None,false,false,false,1225,false,false,false,false,false,false,false,1487,Others,false,false,36,false,false,false,false,false,false,false,false,false,false,1951,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,true,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,29752,false,false,false,false,false,false,false,false,false,15,false,3709,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,33825,false,false,true,None,false,false,false,1226,false,false,true,false,false,false,false,1489,Others,false,false,36,false,false,false,false,false,false,false,false,false,false,1965,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,29944,false,false,false,false,false,false,false,false,false,31,false,3718,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,33907,false,false,true,None,false,false,false,1228,false,false,true,false,false,false,false,1494,Others,false,false,36,false,false,false,false,false,false,false,false,false,false,1979,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,29973,false,false,false,false,false,false,false,false,false,14,false,3722,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,33943,false,false,true,None,false,false,false,1229,false,false,true,false,false,false,false,1496,Others,false,false,36,false,false,false,false,false,false,false,false,false,false,1993,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,30012,false,false,false,false,false,false,false,false,false,9,false,3725,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,33963,false,false,false,None,false,false,false,1232,false,false,false,false,false,false,false,1497,String,false,false,36,false,false,false,false,false,false,false,false,false,false,1996,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,30012,false,false,false,false,false,false,false,false,false,9,false,3725,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,33963,false,false,false,None,false,false,false,1232,false,false,false,false,false,false,false,1497,String,false,false,36,false,false,false,false,false,false,false,false,false,false,1996,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,30025,false,false,false,false,false,false,false,false,false,13,false,3727,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,33999,false,false,false,None,false,false,false,1232,false,false,false,false,false,false,false,1498,Others,false,false,36,false,false,false,false,false,false,false,false,false,false,1997,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,30025,false,false,false,false,false,false,false,false,false,13,false,3727,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,33999,false,false,false,None,false,false,false,1232,false,false,false,false,false,false,false,1498,Others,false,false,36,false,false,false,false,false,false,false,false,false,false,1997,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,30074,false,false,false,false,false,false,false,false,false,11,false,3730,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,34027,false,false,false,None,false,false,false,1233,false,false,false,false,false,true,false,1499,String,false,false,36,false,false,false,false,false,false,false,false,false,false,2002,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,2,false,false,false,false,false,false,false,true,false,false,false,false,true,30115,false,false,false,false,false,false,false,false,false,41,false,3737,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,34112,true,false,false,None,false,false,false,1233,false,false,false,false,false,false,false,1508,Others,false,false,37,false,false,false,false,false,false,false,false,false,false,2003,false,false,false,false,false,false,false,PUBLIC,5,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,STATIC,true,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,30142,false,false,false,false,false,false,false,false,false,4,false,3738,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,34119,false,false,false,None,false,false,false,1233,false,false,false,false,false,false,false,1508,Others,false,false,37,false,false,false,false,false,false,false,false,false,false,2007,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,30142,false,false,false,false,false,false,false,false,false,4,false,3738,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,34119,false,false,true,None,false,false,false,1233,false,false,false,false,false,false,false,1508,Others,false,false,37,false,false,false,false,false,false,false,false,false,false,2007,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,30212,false,false,false,false,false,false,false,false,false,19,true,3742,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,34165,false,false,false,None,false,false,false,1234,false,false,false,false,false,true,false,1509,String,false,false,37,false,false,false,false,false,false,false,false,false,false,2012,false,false,false,true,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,30631,false,false,false,false,false,false,false,false,true,6,false,3743,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,34176,false,false,false,None,false,false,false,1234,false,false,false,false,false,false,false,1509,Others,false,false,37,false,false,false,false,false,false,false,false,false,false,2029,false,false,false,false,false,false,false,PUBLIC,2,true,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,30747,false,false,false,false,false,false,false,false,true,4,false,3744,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,34185,false,false,false,None,false,false,false,1235,false,false,false,false,false,false,false,1509,Native,false,false,37,false,false,false,false,false,false,false,false,false,false,2052,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,30747,false,false,false,false,false,false,false,false,false,4,false,3744,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,34185,false,false,false,None,false,false,false,1235,false,false,false,false,false,false,false,1509,Others,false,false,37,false,false,false,false,false,false,false,false,false,false,2052,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,30755,false,false,false,false,false,false,false,false,false,4,false,3745,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,34194,false,false,false,None,false,false,false,1235,false,false,false,false,false,false,false,1509,String,false,false,37,true,false,false,false,false,false,false,false,false,false,2054,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,FINAL,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,true,false,false,false,false,30876,false,false,false,false,false,false,false,false,true,5,false,3746,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,34204,false,false,false,None,false,false,false,1236,false,false,false,false,false,false,false,1509,Others,false,false,37,false,true,false,false,false,false,false,false,false,false,2078,true,true,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,30876,false,false,false,false,false,false,false,false,false,5,false,3746,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,34204,false,false,true,None,false,false,false,1236,false,false,false,false,false,false,false,1509,Others,false,false,37,false,false,false,false,false,false,false,false,false,false,2078,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,1,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,30926,false,false,false,false,false,false,false,false,false,5,false,3747,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,34216,false,false,false,None,true,false,false,1237,false,false,false,false,false,false,false,1509,String,false,false,37,false,false,false,false,false,false,false,false,false,false,2089,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,30936,false,false,false,false,false,false,false,false,false,10,false,3748,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,34238,false,false,true,None,false,false,false,1237,false,false,false,false,false,false,false,1511,Others,false,false,37,false,false,false,false,false,false,false,false,false,false,2090,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,30996,false,false,false,false,false,false,false,false,false,52,false,3769,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,34381,false,false,false,None,false,false,true,1238,false,false,false,false,false,true,false,1520,Others,false,false,37,false,false,false,false,false,false,false,false,false,false,2093,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,31021,false,false,false,false,false,false,false,false,false,3,false,3769,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,34387,false,false,false,None,false,false,false,1238,false,false,false,false,false,false,false,1520,Others,false,false,37,false,false,false,false,false,false,false,false,false,false,2095,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,31021,false,false,false,false,false,false,false,false,false,3,false,3769,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,34387,false,false,true,None,false,false,false,1238,false,false,false,false,false,false,false,1520,Others,false,false,37,false,false,false,false,false,false,false,false,false,false,2095,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,31029,false,false,false,false,false,false,false,false,false,2,false,3769,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,34389,false,false,false,None,false,false,false,1238,false,false,false,false,false,false,false,1520,Others,false,false,37,false,false,false,false,false,false,false,false,false,false,2096,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,31066,false,false,false,false,false,false,false,false,false,4,false,3769,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,34399,false,false,false,None,false,false,false,1238,false,false,false,false,false,false,false,1520,Others,false,false,37,false,false,false,false,false,false,false,false,false,false,2102,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,31113,false,true,false,false,false,false,false,false,false,8,false,3771,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,34417,false,false,false,None,false,false,false,1239,false,false,false,false,false,false,false,1520,Others,false,false,38,false,false,false,false,false,false,false,false,false,false,2106,false,false,true,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,3,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,31113,false,false,false,false,false,false,false,false,false,8,false,3771,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,34417,false,false,false,None,true,false,false,1239,false,false,false,false,false,false,false,1520,String,false,false,38,false,false,false,false,false,false,false,false,false,false,2106,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,31324,false,false,false,false,false,false,false,false,false,19,false,3778,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,34462,false,false,true,None,false,false,false,1243,false,false,true,false,false,false,false,1521,Others,false,false,38,false,false,false,false,false,false,false,false,false,false,2121,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,5,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,31453,false,false,false,false,false,false,false,false,true,4,false,3779,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,34471,false,false,false,None,false,false,false,1244,false,false,false,false,false,false,false,1521,Native,false,false,38,false,false,false,false,false,false,false,false,false,false,2147,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,31467,false,false,false,false,false,false,false,false,false,5,false,3779,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,34483,false,false,false,None,false,false,false,1244,false,false,false,false,false,false,false,1521,Others,false,false,38,false,false,false,false,false,false,false,false,false,false,2150,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,31500,false,false,false,false,false,false,false,false,false,22,false,3784,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,34538,false,false,false,None,false,false,false,1246,false,false,false,false,false,false,false,1525,String,false,false,38,false,false,false,false,false,false,false,false,false,false,2152,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,31552,false,false,false,false,false,false,false,false,true,4,false,3785,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,34547,false,false,true,None,false,false,false,1247,false,false,false,false,false,false,false,1525,Native,false,false,38,false,false,false,false,false,false,false,false,false,false,2164,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,31567,false,false,false,false,false,false,false,false,false,3,false,3785,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,34553,false,false,false,None,false,false,false,1247,false,false,false,false,false,false,false,1525,String,false,false,38,false,false,false,false,false,false,false,false,false,false,2169,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,true,false,false,false,false,true,false,false,false,31639,false,false,false,false,false,false,false,false,false,9,false,3786,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,34577,false,false,true,None,false,false,false,1248,false,false,false,false,false,false,false,1526,Others,false,false,38,false,false,false,false,false,false,false,false,false,false,2177,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,31647,false,false,false,false,false,false,false,false,false,8,false,3787,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,34598,false,false,false,None,false,false,false,1249,false,false,false,false,false,false,false,1527,String,false,false,38,false,false,false,false,false,false,false,false,false,false,2178,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,SYNCHRONIZED,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,true,false,false,false,false,31781,false,false,false,false,false,false,false,false,true,5,false,3788,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,34608,false,false,false,None,false,false,false,1250,false,false,false,false,false,false,false,1527,Others,false,false,38,false,false,false,false,false,false,false,false,false,false,2205,false,true,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,31827,false,false,false,false,false,false,false,false,false,22,false,3796,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,34663,false,true,false,None,false,false,false,1250,false,false,false,false,false,true,false,1532,String,false,false,38,false,false,false,false,false,false,false,false,false,false,2207,false,false,false,false,false,false,false,PUBLIC,1,false,false,true,ABSTRACT,true,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,1,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,31844,false,false,false,false,false,false,false,false,false,22,false,3796,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,34663,false,false,false,None,false,false,false,1250,false,false,false,false,false,false,false,1532,Others,false,false,38,false,false,false,false,false,false,false,false,false,false,2210,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,31885,false,false,false,false,false,false,false,false,false,4,false,3796,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,34673,false,false,false,None,false,false,false,1250,false,false,false,false,false,false,false,1532,Others,false,false,38,false,false,false,false,false,false,false,false,false,false,2217,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,false,true,false,false,false,false,true,false,false,false,31903,false,false,false,false,false,false,false,false,false,10,false,3797,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,34699,false,true,false,None,true,false,false,1251,false,false,false,false,false,false,false,1532,Others,false,false,38,false,false,false,false,false,false,false,false,false,false,2219,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,31959,false,false,false,false,false,false,false,false,false,7,false,3799,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,34715,false,false,false,None,false,false,false,1252,false,false,false,false,false,true,false,1533,Others,false,false,38,false,false,false,false,false,false,false,false,false,false,2225,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,0,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,32172,false,false,false,false,false,false,false,false,false,15,false,3803,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,34754,false,false,true,None,false,false,false,1253,false,false,true,false,false,false,false,1535,Others,false,false,38,false,false,false,false,false,false,false,false,false,false,2239,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,32189,false,false,false,false,false,false,false,false,false,17,false,3808,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,34794,false,false,false,None,false,false,true,1253,false,false,false,false,false,false,false,1539,Native,false,false,38,false,false,false,false,false,false,false,false,false,false,2240,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,5,false,false,0,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,32285,false,false,false,false,false,false,false,false,false,22,false,3820,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,34854,false,false,false,None,false,false,false,1258,false,true,false,false,false,true,false,1540,String,false,false,38,false,false,false,false,false,false,false,false,false,false,2243,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,32309,false,false,false,false,false,false,false,false,true,7,false,3821,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,34867,false,false,false,None,false,false,false,1258,false,false,false,false,false,false,false,1540,Others,false,false,38,false,false,false,false,false,false,false,false,false,false,2247,false,false,false,false,false,false,false,PUBLIC,2,true,false,false,DEFAULT,false,3,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,32388,false,false,false,false,false,false,false,false,false,2,false,3821,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,34869,false,false,false,None,false,false,false,1258,false,false,false,false,false,false,false,1540,Others,false,false,38,false,false,false,false,false,false,false,false,false,false,2248,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,32395,false,false,false,false,false,false,false,false,false,7,false,3823,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,34883,false,false,false,None,false,false,false,1260,false,false,false,false,false,false,false,1542,String,false,false,38,false,false,false,false,false,false,false,false,false,false,2249,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,32542,false,true,false,false,false,false,false,false,false,5,false,3824,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,34893,false,false,false,None,false,false,false,1261,false,false,false,false,false,false,false,1543,Others,false,false,39,false,false,false,false,false,false,false,false,false,false,2262,false,false,false,false,false,false,true,PUBLIC,1,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,32597,false,false,false,false,false,false,false,false,true,9,false,3825,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,34908,true,false,false,None,false,false,false,1261,false,false,false,false,false,false,false,1544,Others,false,false,39,false,false,false,false,false,false,false,false,false,false,2266,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +1,1,0,0,1,0,0,1,1,1,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,32628,false,false,false,false,false,false,false,false,false,12,false,3829,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,34940,false,false,false,None,false,false,false,1261,false,false,false,false,true,false,false,1545,String,false,false,40,false,false,false,false,false,false,false,false,false,false,2269,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,32635,false,false,false,false,false,false,false,false,false,7,false,3830,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,34957,false,false,false,None,false,false,false,1261,false,false,false,false,false,false,false,1545,Others,false,false,40,false,false,false,false,false,false,false,false,false,false,2270,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,32635,false,false,false,false,false,false,false,false,false,6,false,3832,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,34971,false,false,false,None,false,false,false,1261,false,false,false,false,false,false,false,1545,Others,false,false,40,false,false,false,false,false,false,false,false,false,false,2271,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,true,false,false,false,false,true,false,false,false,32717,false,false,false,false,false,false,false,false,false,10,false,3833,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,34997,false,false,true,None,false,false,false,1262,false,false,false,false,false,false,false,1546,Others,false,false,40,false,false,false,false,false,false,false,false,false,false,2280,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,32720,false,false,false,false,false,false,false,false,false,3,false,3833,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,35003,false,false,false,None,false,false,false,1262,false,false,false,false,false,false,false,1546,String,false,false,40,false,false,false,false,false,false,false,false,false,false,2281,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,32776,false,false,false,false,false,false,false,false,true,4,false,3834,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,35012,false,false,false,None,false,false,false,1263,false,false,false,false,false,false,false,1546,Native,false,false,40,false,false,false,false,false,false,false,false,false,false,2294,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,32918,false,false,false,false,false,false,false,false,true,4,false,3835,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,35021,false,false,false,None,false,false,false,1264,false,false,false,false,false,false,false,1546,Native,false,false,40,false,false,false,false,false,false,false,false,false,false,2323,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,32918,false,false,false,false,false,false,false,false,false,4,false,3835,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,35021,false,false,false,None,false,false,false,1264,false,false,false,false,false,false,false,1546,Others,false,false,40,false,false,false,false,false,false,false,false,false,false,2323,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,5,false,false,None,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,32924,false,false,false,false,false,false,false,false,false,6,false,3836,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,35032,false,false,false,None,false,false,false,1264,false,false,false,false,false,false,false,1546,Others,false,false,40,false,false,false,false,false,false,false,false,false,false,2324,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,32953,false,true,false,false,false,false,false,false,false,13,false,3838,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,35064,false,false,false,None,false,false,false,1266,false,false,false,false,false,false,false,1548,Others,false,false,40,false,false,false,false,false,false,false,false,false,false,2326,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,33032,false,true,false,false,false,false,false,false,false,62,false,3858,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,35251,false,false,false,None,false,false,false,1271,false,false,false,false,false,false,false,1559,Others,false,false,41,false,false,false,false,false,false,false,false,false,false,2328,false,false,true,false,false,false,true,PUBLIC,8,false,false,false,DEFAULT,false,3,false,false,Setter,false,true,false,DEFAULT,false,false,false,true,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,33044,false,false,false,false,false,false,true,false,true,6,false,3860,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,35265,false,false,false,None,false,false,false,1272,false,false,false,false,false,false,false,1559,Others,false,false,41,false,false,false,false,false,false,false,false,false,false,2330,false,false,false,false,false,false,false,PUBLIC,4,true,false,false,DEFAULT,false,2,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,33048,false,false,false,false,false,false,false,false,false,6,false,3860,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,35265,false,false,false,None,false,false,false,1272,false,false,false,false,false,false,false,1559,Others,false,false,41,false,false,false,false,false,false,false,false,false,false,2331,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,true,false,false,false,false,true,false,false,false,33139,false,false,false,false,false,false,false,false,false,9,false,3861,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,35289,false,false,true,None,false,false,false,1273,false,false,false,false,false,false,false,1560,Others,false,false,41,false,false,false,false,false,false,false,false,false,false,2341,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,33143,false,false,false,false,false,false,false,false,false,4,false,3862,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,35297,false,false,false,None,false,false,false,1273,false,false,false,false,false,false,false,1560,Others,false,false,41,false,false,false,false,false,false,false,false,false,false,2342,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,true,false,false,false,false,false,false,true,false,false,false,false,33204,false,false,false,false,false,false,false,false,true,5,false,3863,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,35307,false,false,false,None,false,false,false,1274,false,false,false,false,false,false,false,1560,Others,false,false,41,false,false,false,false,false,false,false,false,false,false,2356,false,true,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,33212,false,false,false,false,false,false,false,false,false,8,false,3865,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,35329,false,false,false,None,false,false,false,1276,false,false,false,false,false,true,false,1560,Others,false,false,41,false,true,false,false,false,false,false,false,false,false,2357,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,33231,false,false,false,false,false,false,false,false,true,14,false,3866,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,35369,false,false,false,None,false,false,false,1277,false,false,false,false,false,false,false,1561,Others,false,false,41,false,false,false,false,false,false,false,false,false,false,2359,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,6,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,33379,false,false,false,false,false,false,false,false,true,21,false,3871,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,35422,false,false,false,None,false,false,false,1282,false,false,false,false,false,false,false,1565,Others,false,false,41,false,false,false,false,false,false,false,false,false,false,2362,false,true,false,false,false,false,false,PUBLIC,10,false,false,false,DEFAULT,false,3,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,33383,false,false,false,false,false,false,false,false,false,4,false,3872,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,35430,false,true,false,None,false,false,false,1282,false,false,false,false,false,false,false,1565,Others,false,false,42,false,false,false,false,false,false,false,false,false,false,2363,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,33424,false,true,false,false,false,false,false,false,false,12,false,3874,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,35461,false,false,false,None,false,false,false,1283,false,false,false,false,false,false,false,1567,Others,false,false,42,false,false,false,false,false,false,false,false,false,false,2366,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,33424,false,false,false,false,false,false,false,false,false,12,false,3874,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,35461,false,false,false,None,false,false,false,1283,false,false,false,false,false,false,false,1567,Others,false,false,42,false,false,false,false,false,false,false,false,false,false,2366,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,4,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,33434,false,false,false,false,false,false,false,false,false,10,false,3876,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,35484,false,true,false,None,false,false,false,1284,false,false,false,false,false,false,false,1569,Native,false,false,42,false,false,false,false,false,false,false,false,false,false,2367,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,33446,false,false,false,false,false,false,false,false,false,4,false,3877,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,35493,false,false,false,None,false,false,false,1284,false,false,false,false,false,false,false,1569,String,false,false,42,true,false,false,false,false,false,false,false,false,false,2370,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,FINAL,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,33446,false,false,false,false,false,false,false,false,false,4,false,3877,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,35493,false,false,true,None,false,false,false,1284,false,false,false,false,false,false,false,1569,Others,false,false,42,false,false,false,false,false,false,false,false,false,false,2370,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,true,false,false,false,false,false,false,false,false,false,33446,false,false,false,false,false,false,false,false,false,4,false,3877,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,35493,false,false,false,None,false,false,false,1284,false,false,false,false,false,false,false,1569,Others,false,false,42,false,false,false,false,false,false,false,false,false,false,2370,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,None,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,true,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,33446,false,false,false,false,false,false,false,false,false,4,false,3877,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,35493,false,false,false,None,false,false,false,1284,false,false,false,false,false,false,false,1569,Others,false,false,42,false,false,false,false,false,false,false,false,false,false,2370,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,33475,false,false,false,false,false,false,false,false,true,5,false,3879,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,35506,false,false,false,None,false,false,false,1285,false,false,false,false,false,false,false,1569,String,false,false,42,false,false,false,false,false,false,false,false,false,false,2375,false,false,false,false,false,false,false,PUBLIC,4,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,33685,false,false,false,false,false,false,false,false,true,14,false,3880,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PRIVATE,true,false,false,false,false,false,false,false,true,35540,false,false,false,None,false,false,false,1285,false,false,false,false,false,false,false,1574,Native,false,false,42,false,false,false,false,false,false,false,false,false,false,2380,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,33707,false,false,false,false,false,false,false,false,false,22,false,3880,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,true,false,false,false,false,false,false,35605,false,false,false,None,false,false,false,1285,false,false,false,false,false,false,false,1581,Native,false,false,43,false,false,false,false,false,false,false,false,false,false,2381,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,true,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,33799,false,false,false,false,false,false,false,false,false,8,false,3881,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,35626,false,false,false,None,false,false,false,1285,false,false,false,false,false,false,false,1581,Others,false,false,43,false,false,false,false,false,false,false,false,false,false,2391,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,33992,false,false,false,false,false,false,false,false,false,46,false,3885,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,35744,false,false,false,None,false,false,false,1289,false,false,false,false,false,false,false,1600,Native,false,false,43,false,false,false,false,false,false,false,false,false,false,2405,false,false,false,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,true,1,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,34002,false,false,false,false,false,false,false,false,false,10,false,3886,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,35772,false,false,false,None,false,false,false,1289,false,false,false,false,false,false,false,1600,Others,false,false,43,false,false,false,false,false,false,false,false,false,false,2406,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,34071,false,false,false,false,false,false,false,false,true,4,false,3887,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,35781,false,false,true,None,false,false,false,1290,false,false,false,false,false,false,false,1600,Native,false,false,43,false,false,false,false,false,false,false,false,false,false,2422,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,34071,false,false,false,false,false,false,false,false,false,4,false,3887,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,35781,false,false,false,None,false,false,false,1290,false,false,false,false,false,false,false,1600,Others,false,false,43,false,false,false,false,false,false,false,false,false,false,2422,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,34111,false,false,false,false,false,false,false,false,false,12,false,3888,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,35805,false,false,false,None,false,false,false,1290,false,false,false,false,false,false,false,1600,Others,false,false,43,false,false,false,false,false,false,false,false,false,false,2427,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,8,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,34143,false,true,false,false,false,false,false,false,false,32,false,3894,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,35889,true,false,false,None,false,false,false,1294,true,false,false,false,false,false,false,1608,Others,false,false,43,false,false,false,false,false,false,false,false,false,false,2428,false,false,false,false,false,false,false,PUBLIC,6,false,false,false,DEFAULT,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,true,false,false,false,true,true,false,false,false,34281,false,false,false,false,false,false,false,false,true,8,false,3898,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,35912,false,false,false,None,false,false,false,1298,false,false,false,false,false,false,false,1608,Others,false,false,43,false,false,false,false,false,false,false,false,false,false,2440,false,false,false,false,false,false,false,PUBLIC,6,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,true,false,false,false,false,true,false,false,false,34382,false,false,false,false,false,false,false,false,false,10,false,3899,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,35938,false,false,true,None,false,false,false,1299,false,false,false,false,false,false,false,1609,Others,false,false,43,false,false,false,false,false,false,false,false,false,false,2451,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,1,false,1,false,false,false,false,false,false,false,false,false,true,false,false,false,34405,false,false,false,false,false,false,false,false,false,23,false,3909,true,false,false,false,false,false,true,false,true,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,true,36002,false,true,false,None,false,false,false,1309,false,false,false,false,false,true,false,1613,Others,false,false,43,false,false,false,false,false,false,false,false,false,false,2452,false,false,false,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,34627,false,false,false,false,false,false,false,false,false,29,false,3915,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,36083,false,false,false,None,false,false,false,1310,false,false,false,false,false,false,false,1618,Others,false,false,43,false,false,false,false,false,false,false,false,false,false,2467,false,false,false,false,false,false,false,PUBLIC,1,false,false,true,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,34655,false,false,false,false,false,false,false,false,false,28,false,3917,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,36156,false,false,false,None,false,false,false,1312,true,false,false,false,false,false,false,1626,Native,false,false,44,false,false,false,false,false,false,false,false,false,false,2468,false,false,false,false,false,false,false,PUBLIC,2,false,false,true,DEFAULT,false,3,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,34669,false,false,false,false,false,false,false,false,false,8,false,3919,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,36176,false,false,false,None,false,false,false,1313,true,false,false,false,false,false,false,1626,Native,false,false,45,false,false,false,false,false,false,false,false,false,false,2470,false,false,false,false,false,false,false,DEFAULT,1,false,false,true,DEFAULT,false,3,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,34669,false,false,false,false,false,false,false,false,false,8,false,3919,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,36176,false,false,true,None,false,false,false,1313,false,false,false,false,false,false,false,1626,Others,false,false,45,false,false,false,false,false,false,false,false,false,false,2470,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,34889,false,false,false,false,false,false,false,false,true,72,false,3942,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PRIVATE,true,false,false,false,false,false,false,false,false,36356,true,false,false,None,false,false,false,1327,false,false,false,false,false,true,false,1642,Others,false,false,45,false,false,false,false,false,true,false,false,false,false,2474,false,false,false,false,false,false,true,PUBLIC,33,false,false,false,DEFAULT,false,4,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,5,false,true,2,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,34905,false,false,false,false,false,false,false,false,false,6,false,3943,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,36370,false,false,false,None,false,false,false,1327,false,false,false,false,false,false,false,1642,Others,false,false,45,false,false,false,false,false,false,false,false,false,false,2476,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,34937,false,false,false,false,false,false,false,false,true,16,false,3944,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PROTECTED,true,false,false,false,false,false,false,false,false,36414,false,false,false,None,false,false,false,1327,false,false,false,false,false,false,false,1643,Others,false,false,45,false,false,false,false,false,false,false,false,false,false,2478,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,34954,false,false,false,false,false,false,false,false,false,17,false,3948,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,36459,false,false,false,None,false,false,false,1330,false,false,false,false,false,true,false,1644,Others,false,false,45,false,false,false,false,false,false,false,false,false,false,2479,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,34969,false,false,false,false,false,false,false,false,false,8,false,3949,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,36480,false,false,false,None,false,false,false,1330,false,true,false,false,false,false,false,1644,Native,false,false,45,false,false,false,false,false,false,false,false,false,false,2481,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,4,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,35422,false,false,false,false,false,false,false,false,true,34,false,3949,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,36583,false,false,false,None,false,false,false,1330,false,false,false,false,false,false,false,1648,Others,false,false,45,false,false,false,true,false,false,false,false,false,false,2499,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,FINAL,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,35776,false,false,false,false,false,false,false,true,false,14,false,3954,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,36620,false,false,false,None,false,false,false,1333,false,false,false,false,false,false,false,1650,Others,false,false,45,false,false,false,false,false,false,false,false,false,false,2510,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,35776,false,false,false,false,false,false,false,false,false,3,false,3955,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,36624,false,false,false,None,false,false,false,1333,false,false,false,false,false,false,false,1650,Others,false,false,45,false,false,false,false,false,false,false,false,false,false,2511,false,false,true,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,35830,false,false,false,false,false,false,false,false,false,4,false,3956,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,36633,false,false,false,None,true,false,false,1334,false,false,false,false,false,false,false,1650,Others,false,false,45,false,false,false,false,false,false,false,false,false,false,2523,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,35833,false,false,false,false,false,false,false,false,false,3,false,3957,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,36639,false,false,false,None,false,false,false,1334,false,false,false,false,false,true,false,1650,Others,false,false,45,false,false,false,false,false,false,false,false,false,false,2524,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,35862,false,false,false,false,false,false,false,false,false,5,false,3959,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,36651,false,false,false,None,true,false,false,1336,false,false,false,false,false,false,false,1650,String,false,false,45,false,false,false,false,false,false,false,false,false,false,2531,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,true,false,false,false,36008,false,false,false,false,false,false,false,false,true,8,false,3963,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,36674,false,false,false,None,false,false,false,1339,false,false,false,false,false,false,false,1650,String,false,false,45,false,false,false,false,false,false,false,false,false,false,2544,false,false,false,false,false,false,false,PUBLIC,6,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,5,false,false,2,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,36015,false,false,false,false,false,false,false,false,false,7,false,3964,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,36692,false,false,false,None,true,false,false,1339,false,true,false,false,false,false,false,1650,Others,false,false,45,false,false,false,false,false,false,false,false,false,false,2545,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,36026,false,false,false,false,false,false,false,false,false,6,false,3965,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,36707,false,false,false,None,false,false,false,1339,false,false,false,false,false,false,false,1650,Others,false,false,45,false,false,false,false,false,false,false,false,false,false,2547,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,3,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,36026,false,false,false,false,false,false,false,false,false,6,false,3965,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,36707,false,false,false,None,false,false,false,1339,false,false,false,false,false,false,false,1650,Others,false,false,45,false,false,false,false,false,false,false,false,false,false,2547,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,36048,false,false,false,false,false,false,false,false,false,22,false,3972,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,36762,false,false,false,None,false,false,false,1344,false,false,false,false,false,false,false,1655,Others,false,false,45,false,false,false,false,false,false,false,false,false,false,2548,false,false,false,false,false,false,false,PUBLIC,4,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,36051,false,false,false,false,false,false,false,false,false,3,false,3972,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,36768,false,false,true,None,false,false,false,1344,false,false,false,false,false,false,false,1655,Others,false,false,45,false,false,false,false,false,false,false,false,false,false,2549,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,36139,false,false,false,false,false,false,false,false,false,18,true,3975,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,36810,false,false,false,None,false,false,false,1345,false,false,false,false,false,false,false,1656,String,false,false,45,false,false,false,false,false,false,false,false,false,false,2555,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,36186,false,false,false,false,false,false,false,false,false,4,true,3975,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,36819,false,false,false,None,false,false,false,1345,false,false,false,false,false,false,false,1656,String,false,false,45,false,false,false,false,false,false,false,false,false,false,2567,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,36227,false,true,false,false,false,false,false,false,false,5,false,3976,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,36829,false,false,false,None,false,false,false,1346,false,false,false,false,false,false,false,1656,Others,false,false,46,false,false,false,false,false,false,false,false,false,false,2572,false,false,true,false,false,false,true,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,36288,false,false,false,false,false,false,false,false,true,16,false,3978,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,36863,false,false,false,None,false,false,false,1348,false,false,false,false,false,true,false,1659,Others,false,false,46,false,false,false,false,false,false,false,false,false,false,2576,false,true,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,36338,false,false,false,false,false,false,false,false,false,11,false,3979,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,36885,false,false,false,None,false,false,false,1348,false,false,false,false,false,false,false,1659,String,false,false,46,false,false,false,false,false,false,false,false,false,false,2581,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,8,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,36396,false,false,false,false,false,false,false,false,false,4,false,3980,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,36894,false,false,false,None,true,false,false,1349,false,false,false,false,false,false,false,1659,String,false,false,46,false,false,false,false,false,false,false,false,false,false,2594,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,36396,false,false,false,false,false,false,false,false,false,4,false,3980,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,36894,false,false,true,None,false,false,false,1349,false,false,false,false,false,false,false,1659,Others,false,false,46,false,false,false,false,false,false,false,false,false,false,2594,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,36405,false,false,false,false,false,false,false,false,false,9,false,3982,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,true,36918,false,false,false,None,false,false,false,1350,false,false,false,false,false,false,false,1661,Others,false,false,46,false,false,false,false,false,false,false,false,false,false,2595,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,36460,false,false,false,false,false,false,false,false,false,4,false,3982,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,36928,false,false,false,None,false,false,false,1350,false,false,false,false,false,false,false,1661,Others,false,false,46,false,false,false,false,false,false,false,false,false,false,2600,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,true,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,36485,false,false,false,false,false,false,false,false,false,25,false,3987,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,true,36990,false,false,false,None,false,false,false,1353,false,false,true,false,false,true,false,1665,Native,false,false,46,false,false,false,false,false,false,false,false,false,false,2601,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,36485,false,false,false,false,false,false,false,false,false,25,false,3987,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,36990,false,false,true,None,false,false,false,1353,false,false,false,false,false,false,false,1665,Others,false,false,46,false,false,false,false,false,false,false,false,false,false,2601,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,3,false,true,false,false,false,false,false,false,false,false,false,false,false,36639,false,false,false,false,false,false,false,false,false,154,false,4066,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,37434,false,false,false,None,false,false,false,1374,false,false,false,false,false,true,false,1685,Others,false,false,46,false,false,false,false,false,false,false,false,false,false,2602,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,36643,false,false,false,false,false,false,false,false,false,154,false,4066,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,37434,false,false,false,None,false,false,false,1374,false,false,false,false,false,false,false,1685,Others,false,false,46,false,false,false,false,false,false,false,false,false,false,2603,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,None,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,36691,false,false,false,false,false,false,false,false,false,8,false,4067,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,37450,false,false,false,None,false,false,false,1374,false,false,false,false,false,false,false,1685,Others,false,false,46,false,false,false,false,false,false,false,false,false,false,2609,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,36691,false,false,false,false,false,false,false,false,false,8,false,4067,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,37450,false,false,true,None,false,false,false,1374,false,false,false,false,false,false,false,1685,Others,false,false,46,false,false,false,false,false,false,false,false,false,false,2609,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,true,false,true,false,false,false,false,false,36691,false,false,false,false,false,false,false,false,false,7,false,4067,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,37468,false,false,false,None,false,false,false,1374,false,false,false,false,false,false,false,1685,Others,false,false,46,false,false,false,false,false,false,false,false,false,false,2611,false,false,false,false,false,false,false,DEFAULT,0,false,false,true,DEFAULT,false,3,false,false,Setter,false,false,false,FINAL,false,false,false,false,false,5,false,false,1,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,36713,false,false,false,false,false,false,false,false,false,6,false,4068,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,37482,false,false,false,None,false,false,false,1374,false,false,false,false,false,false,false,1685,Others,false,false,46,false,false,false,false,false,false,false,false,false,false,2614,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,36723,false,true,false,false,false,false,false,false,false,5,false,4070,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,37492,false,true,false,None,false,false,false,1376,false,false,false,false,false,false,false,1685,Others,false,false,46,false,false,false,false,true,false,false,false,false,false,2616,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,36794,false,false,false,false,false,false,false,false,true,16,false,4072,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,37526,false,false,false,None,false,false,false,1378,false,false,false,false,false,true,false,1688,Others,false,false,46,false,false,false,false,false,false,false,false,false,false,2621,false,true,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,2,false,false,None,false,true,false,DEFAULT,false,false,false,false,false,5,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,36814,false,false,false,false,false,false,false,false,false,12,false,4074,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,37559,false,false,false,None,false,false,false,1380,true,false,false,false,false,false,false,1689,Native,false,false,47,false,false,false,false,false,false,false,false,false,false,2623,false,false,false,false,false,false,false,PUBLIC,1,false,false,true,ABSTRACT,false,3,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,36817,false,false,false,false,false,false,false,false,false,3,false,4075,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,37566,false,false,false,None,false,false,false,1380,false,false,false,false,false,false,false,1689,Native,false,false,47,false,false,false,false,false,false,false,false,false,false,2624,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,36834,false,false,false,false,false,false,false,false,false,7,false,4077,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,37582,false,false,false,None,false,false,false,1380,false,false,false,false,false,false,false,1689,Others,false,false,47,false,false,false,false,false,false,false,false,false,false,2627,false,false,false,false,false,false,false,PUBLIC,0,true,false,false,FINAL,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,36872,true,false,false,false,false,false,false,false,false,35,false,4085,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,37674,false,false,true,None,false,false,false,1385,false,false,true,false,false,true,false,1697,Others,false,false,47,false,false,false,false,false,false,false,false,false,false,2629,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,36905,false,false,false,false,false,false,false,false,false,33,false,4099,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,37760,false,true,false,None,true,false,true,1391,false,false,false,false,false,false,false,1701,Others,false,false,47,false,false,false,false,false,false,false,false,false,false,2630,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,36964,false,false,false,false,false,false,false,false,false,59,false,4129,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,true,37921,false,false,false,None,false,false,true,1395,false,false,false,false,false,true,false,1709,Others,false,false,47,false,false,false,false,false,false,false,false,false,true,2631,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,true,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,true,false,false,false,37085,false,false,false,false,false,false,false,false,false,121,false,4208,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,38285,false,false,false,None,false,false,false,1437,false,false,false,false,false,true,false,1730,Others,false,false,47,false,false,false,false,false,false,false,false,false,false,2632,false,true,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,37135,false,false,false,false,false,false,false,false,false,10,false,4209,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,38306,false,false,false,None,false,false,false,1437,false,false,false,false,false,false,false,1734,Native,false,false,47,false,true,false,false,false,false,false,false,false,false,2638,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,37150,false,false,false,false,false,false,false,false,false,15,false,4210,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,38336,false,false,false,None,false,false,false,1437,false,false,false,false,false,false,false,1737,Others,false,false,47,false,false,false,false,false,false,false,false,false,false,2639,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,37250,false,false,false,false,false,false,false,false,false,8,false,4212,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,38354,false,false,false,None,false,false,false,1437,false,false,false,false,false,false,false,1737,Others,false,false,47,false,false,false,false,false,false,false,false,false,false,2650,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,37257,false,false,false,false,false,false,false,false,false,7,false,4215,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,38373,false,false,false,None,false,false,false,1439,false,false,false,false,false,false,false,1737,Native,false,false,47,false,false,false,false,false,false,false,false,false,false,2651,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,true,false,false,false,false,true,false,false,false,37366,false,false,false,false,false,false,false,false,false,8,false,4216,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,38395,false,false,true,None,false,false,false,1440,false,false,false,false,false,false,false,1738,Others,false,false,47,false,false,false,false,false,false,false,false,false,false,2663,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,37370,false,false,false,false,false,false,false,false,false,4,false,4217,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,38403,false,false,false,None,false,false,false,1441,false,false,false,false,false,false,false,1738,Others,false,false,47,false,false,false,false,true,false,false,false,false,false,2664,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,37373,false,false,false,false,false,false,false,false,false,3,false,4217,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,38407,false,false,false,None,false,false,false,1441,true,false,false,false,false,false,false,1738,Others,false,false,47,false,false,false,false,false,false,false,false,false,false,2665,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,5,false,false,1,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,37385,false,false,false,false,false,false,false,false,false,6,false,4218,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,38419,false,false,false,None,false,false,false,1441,false,false,false,false,false,false,false,1738,Others,false,false,47,false,false,false,false,false,false,false,false,false,false,2667,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,5,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,37471,false,true,false,false,false,false,false,false,false,45,false,4229,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,38514,false,false,false,None,false,false,false,1450,false,false,false,false,false,false,false,1750,Others,false,false,47,false,false,false,false,false,false,false,false,false,false,2671,false,false,false,false,false,false,false,PUBLIC,9,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,37478,false,false,false,false,false,false,false,false,false,7,false,4231,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,38532,false,false,true,None,false,false,false,1451,false,false,true,false,false,false,false,1751,Others,false,false,47,false,false,false,false,false,false,false,false,false,false,2672,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,FINAL,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,37590,false,false,false,false,false,false,false,false,false,14,false,4232,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,true,38568,false,false,false,None,false,false,false,1452,false,false,false,false,false,true,false,1754,Others,false,false,47,false,false,false,false,false,false,false,false,false,false,2677,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,37726,false,true,false,false,false,false,false,false,false,5,false,4233,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,38580,false,false,false,None,false,false,false,1453,false,false,false,false,false,false,false,1754,Others,false,false,48,false,false,false,false,false,false,false,false,false,false,2687,false,false,false,false,false,false,true,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,true,false,false,false,false,true,false,false,false,37843,false,false,false,false,false,false,false,false,false,8,false,4234,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,38602,false,false,true,None,false,false,false,1454,false,false,false,false,false,false,false,1755,Others,false,false,48,false,false,false,false,false,false,false,false,false,false,2700,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,37843,false,false,false,false,false,false,false,false,false,8,false,4234,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,38602,false,false,false,None,false,false,false,1454,false,false,false,false,false,false,false,1755,Others,false,false,48,false,false,false,false,false,false,false,false,false,false,2700,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,5,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,37914,false,false,false,false,false,false,false,false,false,25,false,4244,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,38667,false,true,false,None,false,false,false,1454,false,false,false,false,false,false,false,1760,String,false,false,48,false,false,false,false,false,false,false,false,false,false,2703,false,false,false,false,false,false,false,PUBLIC,1,false,false,true,ABSTRACT,true,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,false,1,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,true,false,false,false,false,false,false,false,37927,false,false,false,false,false,false,false,false,false,13,false,4247,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,38705,false,false,false,None,false,false,false,1455,false,false,false,false,false,true,false,1761,Others,false,false,48,false,false,false,false,false,false,false,false,false,false,2704,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,FINAL,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,37935,false,false,false,false,false,false,false,false,false,4,false,4248,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,38714,false,false,false,None,false,false,false,1456,false,false,false,false,false,false,false,1761,String,false,false,48,false,false,false,false,false,false,false,false,false,false,2706,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,true,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,37940,false,false,false,false,false,false,false,false,false,4,false,4248,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,38714,false,false,false,None,true,false,false,1456,false,false,false,false,false,false,false,1761,Others,false,false,48,false,false,false,false,false,false,false,false,false,false,2707,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,38010,false,false,false,false,false,false,false,false,false,15,false,4248,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,38746,false,false,false,None,false,false,false,1456,false,false,false,false,false,false,false,1762,Others,false,false,48,false,false,false,false,false,false,false,false,false,false,2713,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,5,false,true,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,38016,false,false,false,false,false,false,false,false,false,6,false,4249,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,38759,false,false,false,None,false,false,false,1456,false,false,false,false,false,false,false,1762,Others,false,false,48,false,false,false,false,false,false,false,false,false,false,2714,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,38252,false,false,false,false,false,false,false,false,false,14,false,4251,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,38795,false,false,false,None,false,false,false,1458,false,false,false,false,false,false,false,1764,Others,false,false,49,false,false,false,false,false,false,false,false,false,false,2730,false,false,false,false,false,false,true,PUBLIC,2,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,38270,false,true,false,false,false,false,false,false,false,18,false,4257,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,38837,false,false,false,None,false,false,false,1463,false,false,false,false,false,false,false,1768,Others,false,false,49,false,false,false,false,false,false,false,false,false,false,2731,false,false,false,false,false,false,true,PUBLIC,4,false,false,false,ABSTRACT,false,2,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,6,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,38281,false,false,false,false,false,false,false,false,false,11,false,4257,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,38864,false,false,false,None,false,false,false,1463,false,false,false,false,false,false,false,1770,Others,false,false,49,false,false,false,false,false,false,false,false,false,false,2732,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,38678,false,false,false,false,false,false,false,false,false,43,false,4281,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,38987,false,false,false,None,false,false,false,1465,false,false,false,false,false,true,false,1773,Others,false,false,49,false,false,false,false,false,false,false,false,false,false,2744,false,false,false,false,false,false,false,PUBLIC,6,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,true,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,38747,false,false,false,false,false,false,false,false,false,3,false,4281,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,38993,false,false,false,None,false,false,false,1465,false,false,false,false,false,false,false,1773,String,false,false,49,false,false,false,false,false,false,false,false,false,false,2752,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,38753,false,false,false,false,false,false,false,false,false,6,false,4283,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,39007,false,true,false,None,false,false,false,1466,false,false,false,false,false,false,false,1773,Others,false,false,49,false,false,false,false,false,false,false,false,false,false,2753,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,FINAL,false,0,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,38765,false,false,false,false,false,false,false,false,false,12,false,4285,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,39035,false,false,false,None,false,false,false,1467,false,false,false,false,false,true,false,1773,Others,false,false,49,false,true,false,false,false,false,false,false,false,false,2754,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,FINAL,false,1,false,false,Setter,false,true,false,DEFAULT,false,true,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,38831,false,true,false,false,false,false,false,false,false,25,false,4299,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,true,39099,false,false,false,None,false,false,false,1469,false,false,false,false,false,false,false,1775,Others,false,false,49,false,false,false,false,false,false,false,false,false,false,2760,false,false,true,false,false,false,false,PUBLIC,6,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,true,false,true,false,false,false,false,false,false,false,false,false,38871,false,false,false,false,false,false,false,false,false,6,false,4301,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,39112,false,false,false,None,false,false,false,1471,false,false,false,false,false,true,false,1775,Others,false,false,49,false,false,false,false,false,false,false,false,false,false,2767,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,1,1,0,0,0,0,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,38898,false,false,false,false,false,false,false,false,false,27,false,4312,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,PUBLIC,false,false,true,false,false,false,false,false,true,39186,false,true,false,None,true,false,false,1472,false,false,false,false,false,false,false,1777,String,false,false,49,false,false,false,false,false,false,false,false,false,false,2768,false,false,false,true,false,false,false,PUBLIC,1,false,false,true,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,0,0,0,1,1,1,false,0,false,false,false,false,false,false,false,false,false,false,true,false,false,38914,false,false,false,false,false,false,false,false,false,16,false,4316,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,true,true,false,false,false,false,false,39233,false,false,false,None,false,false,false,1472,false,false,false,false,false,false,false,1782,String,false,false,49,false,false,false,false,false,false,false,false,false,false,2769,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,true,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,true,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,38914,false,false,false,false,false,false,false,false,false,16,false,4316,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,39233,false,false,true,None,false,false,false,1472,false,false,false,false,false,false,false,1782,Others,false,false,49,false,false,false,false,false,false,false,false,false,false,2769,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,38938,false,false,false,false,false,false,false,false,false,7,false,4318,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,39249,false,false,false,None,false,false,false,1472,false,false,false,false,false,false,false,1782,Others,false,false,49,false,false,false,false,false,false,false,false,false,false,2773,false,false,false,false,false,false,false,PUBLIC,0,true,false,false,FINAL,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,38943,false,false,false,false,false,false,false,false,false,2,false,4318,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,39251,false,false,false,None,false,false,false,1472,false,false,false,false,false,false,false,1782,Others,false,false,49,false,false,false,false,false,false,false,false,false,false,2774,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,38991,false,false,false,false,false,false,false,false,true,16,false,4320,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,39285,false,false,false,None,false,false,false,1474,false,false,false,false,false,true,false,1785,Others,false,false,49,false,false,false,false,false,false,false,false,false,false,2777,false,true,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,39024,false,false,false,false,false,false,false,false,false,4,false,4322,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,39294,false,false,false,None,true,false,false,1476,false,false,false,false,false,true,false,1785,String,false,false,49,false,false,false,false,false,false,false,false,false,false,2785,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,39038,false,false,false,false,false,false,false,false,false,14,true,4323,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,39331,false,false,false,None,false,false,false,1476,false,false,false,false,false,false,false,1787,Native,false,false,49,false,false,false,false,false,false,false,false,false,false,2786,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,39083,false,false,false,false,false,false,false,false,false,45,true,4343,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,39452,false,true,false,None,false,false,false,1477,false,false,false,false,false,false,false,1797,String,false,false,49,false,false,false,false,false,false,false,false,false,false,2787,false,false,false,true,false,false,false,PUBLIC,0,false,false,true,DEFAULT,true,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,false,2,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,39137,false,false,false,false,false,false,false,false,false,6,false,4344,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,39464,false,false,false,None,false,false,false,1477,false,false,false,false,false,false,false,1797,Others,false,false,49,false,false,false,false,false,false,false,false,false,false,2794,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,39137,false,false,false,false,false,false,false,false,false,6,false,4344,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,39464,false,false,false,None,true,false,false,1477,false,false,false,false,false,false,false,1797,String,false,false,49,false,false,false,false,false,false,false,false,false,false,2794,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,39137,false,false,false,false,false,false,false,false,false,6,false,4344,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,39464,false,false,false,None,false,false,false,1477,false,false,false,false,false,false,false,1797,Others,false,false,49,false,false,false,false,false,false,false,false,false,false,2794,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,39198,false,false,false,false,false,false,false,false,false,61,false,4362,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,39632,false,false,false,None,false,false,true,1478,true,false,false,false,false,false,false,1811,Native,false,false,50,false,false,false,false,false,false,false,false,false,false,2795,false,false,false,false,false,false,false,PUBLIC,1,false,false,true,DEFAULT,false,3,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,6,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,39237,false,false,false,false,false,false,false,false,false,9,false,4364,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,39651,false,false,false,None,false,false,false,1478,false,false,false,false,false,false,false,1811,Others,false,false,50,false,false,false,false,false,false,false,false,false,false,2800,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,39255,false,false,false,false,false,false,false,false,false,18,false,4367,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,DEFAULT,false,false,false,false,false,false,false,false,false,39704,false,false,false,None,false,false,false,1479,false,false,false,false,false,false,false,1813,String,false,false,50,false,false,false,false,false,false,false,false,false,false,2801,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,39712,false,false,false,false,false,false,false,false,true,4,false,4368,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,39711,false,false,false,None,false,false,false,1479,false,false,false,false,false,false,false,1813,Others,false,false,50,false,false,false,false,false,false,false,false,false,false,2820,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,39774,false,false,false,false,false,false,false,false,false,4,false,4369,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,39720,false,false,false,None,true,false,false,1480,false,false,false,false,false,false,false,1813,String,false,false,50,false,false,false,false,false,false,false,false,false,false,2834,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,39793,false,false,false,false,false,false,false,false,false,19,false,4371,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,39768,false,false,false,None,false,false,false,1480,false,false,false,false,false,false,false,1819,Others,false,false,50,false,false,false,false,false,false,false,false,false,false,2835,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,true,1,false,false,false,false,false,false,false,false,false,false,false,false,false,39837,false,false,false,false,false,false,false,false,false,44,false,4391,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,true,false,false,false,true,39909,false,false,false,None,false,false,false,1481,false,false,false,false,false,false,false,1827,Native,false,false,50,true,false,false,false,false,false,false,false,false,false,2836,false,false,false,false,false,false,false,PUBLIC,5,false,false,true,DEFAULT,false,3,false,false,Setter,false,false,true,DEFAULT,false,false,false,false,false,6,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,39987,false,true,false,false,false,false,false,false,false,14,false,4393,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,39931,false,false,false,None,false,false,false,1483,false,false,false,false,false,false,false,1828,Others,false,false,50,false,false,false,false,true,false,false,false,false,false,2847,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,40038,false,false,false,false,false,false,false,false,false,9,false,4395,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,39956,false,false,false,None,false,false,false,1483,false,false,false,false,false,false,false,1828,Others,false,false,50,false,false,false,false,false,false,false,false,false,false,2854,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,40141,false,true,false,false,false,false,false,false,false,17,false,4399,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,40002,false,false,false,None,false,false,false,1485,false,false,false,false,false,false,false,1828,Others,false,false,50,false,false,false,false,false,false,false,false,false,false,2859,false,false,false,false,false,false,true,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,true,0,false,false,false +1,0,0,0,0,0,0,1,0,0,1,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,40162,false,false,false,false,false,false,false,false,false,13,false,4403,true,false,false,false,true,false,true,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,40031,false,true,false,None,false,false,false,1487,false,false,false,false,false,true,false,1829,Others,false,false,50,false,false,false,false,false,false,false,false,false,false,2861,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,2,false,true,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,40418,false,false,false,false,false,false,false,false,false,45,false,4411,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,40135,false,false,true,None,false,false,false,1491,false,false,true,false,false,false,false,1844,Others,false,false,50,false,false,false,false,false,false,false,false,false,false,2877,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,40482,false,true,false,false,false,false,false,false,false,17,false,4416,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,40182,false,false,false,None,false,false,true,1493,false,false,false,false,false,false,false,1847,Others,false,false,50,false,false,false,false,false,false,false,false,false,false,2882,false,false,true,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,6,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,40546,false,false,false,false,false,false,false,false,false,10,false,4417,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,40204,false,false,false,None,false,false,false,1493,false,false,false,false,false,false,false,1847,Others,false,false,50,false,false,false,false,false,false,false,false,false,false,2889,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,40578,false,false,false,false,false,false,false,false,true,16,false,4419,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,40238,false,false,false,None,false,false,false,1495,false,false,false,false,false,true,false,1850,Others,false,false,50,false,false,false,false,false,false,false,false,false,false,2891,false,true,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,2,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,40596,false,false,false,false,false,false,true,false,false,4,false,4419,false,false,true,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,40247,false,false,false,None,false,false,false,1495,false,false,false,false,false,false,false,1850,Native,false,false,50,false,false,false,false,false,false,false,false,false,false,2895,false,false,false,false,false,false,false,PUBLIC,0,true,false,false,DEFAULT,false,1,false,true,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,40665,false,false,false,false,false,false,false,false,false,3,false,4419,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,40253,false,false,false,None,false,false,false,1495,false,false,false,false,false,false,false,1850,String,false,false,50,false,false,false,false,false,false,false,false,false,false,2903,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,41148,false,false,false,false,false,false,false,false,true,26,false,4425,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PRIVATE,true,false,false,false,false,false,false,false,true,40337,false,false,false,None,false,false,false,1500,false,false,false,false,false,false,false,1853,Others,false,false,50,false,false,false,false,false,false,false,false,false,false,2923,false,false,false,false,false,false,false,PUBLIC,12,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,true,false,false,false,false,false,false,false,41151,false,false,false,false,false,false,false,false,false,3,false,4425,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,40343,false,false,false,None,false,false,false,1500,false,false,false,false,false,false,false,1853,Others,false,false,50,false,false,false,false,false,false,false,false,false,false,2924,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,41151,false,false,false,false,false,false,false,false,false,3,false,4425,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,40343,false,false,false,None,false,false,false,1500,false,false,false,false,false,false,false,1853,Others,false,false,50,false,false,false,false,false,false,false,false,false,false,2924,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,41165,false,false,false,false,false,false,false,false,false,14,true,4427,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,40374,false,false,false,None,false,false,false,1500,false,false,false,false,false,false,false,1854,String,false,false,50,false,false,false,false,false,false,false,false,false,false,2925,false,false,false,false,false,true,false,PUBLIC,1,false,false,true,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,true,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,41428,false,false,false,false,false,false,false,false,false,7,false,4428,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,40391,false,false,true,None,false,false,false,1501,false,false,true,false,false,false,false,1854,Others,false,false,50,false,false,false,false,false,false,false,false,false,false,2942,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,41455,false,false,false,false,false,false,false,false,false,5,false,4430,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,40404,false,false,false,None,false,false,false,1502,false,false,false,false,false,false,false,1854,Others,false,false,50,false,false,false,false,false,false,false,false,false,false,2943,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,41455,false,false,false,false,false,false,false,false,false,5,false,4430,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,40404,false,false,false,None,false,false,false,1502,false,false,false,false,false,false,false,1854,Native,false,false,50,false,false,false,false,false,false,false,false,false,false,2943,false,false,false,false,false,false,false,PUBLIC,0,true,false,false,ABSTRACT,false,4,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,41701,false,false,false,false,false,false,false,false,false,10,false,4431,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,40428,false,false,false,None,false,false,false,1503,false,false,false,false,false,false,false,1855,Native,false,false,51,false,false,false,false,false,false,false,false,false,false,2960,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,4,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,41712,false,false,false,false,false,false,false,false,false,11,false,4431,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,40453,false,false,false,None,false,false,false,1503,false,false,false,false,false,false,false,1862,Native,false,false,51,false,false,false,false,false,false,false,false,false,false,2961,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,41744,false,true,false,false,false,false,false,false,false,4,false,4432,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,40462,false,false,false,None,false,false,false,1503,false,false,false,false,false,false,false,1862,Others,false,false,51,false,false,false,false,false,false,false,false,false,false,2965,false,false,true,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,41760,false,false,false,false,false,false,false,false,false,4,false,4433,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,40471,false,false,false,None,false,false,false,1503,false,false,false,false,false,false,false,1862,String,false,false,51,true,false,false,false,false,false,false,false,false,false,2969,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,FINAL,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,41818,false,false,false,false,false,false,false,false,false,8,false,4434,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,40497,false,false,false,None,false,false,false,1503,false,false,false,false,false,false,false,1862,String,false,false,51,false,true,false,false,false,false,false,false,false,false,2976,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,false,0,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,true,false,false,false,41904,false,false,false,false,false,false,false,false,false,52,false,4469,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,40647,false,false,false,None,false,false,false,1524,false,true,false,false,false,false,false,1866,String,false,false,51,false,false,false,false,false,false,false,false,false,false,2978,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,41904,false,false,false,false,false,false,false,false,false,52,false,4469,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,40647,false,false,false,None,true,false,false,1524,false,false,false,false,false,false,false,1866,String,false,false,51,false,false,false,false,false,false,false,false,false,false,2978,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,true,false,false,false,41949,false,false,false,false,false,false,false,false,false,4,false,4470,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,40656,false,false,false,None,false,false,false,1526,false,false,false,false,false,false,false,1866,Others,false,false,51,false,false,false,false,false,false,false,false,false,false,2983,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,41984,false,false,false,false,false,false,false,false,true,6,false,4471,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,40667,false,false,false,None,false,false,false,1526,false,false,false,false,false,false,false,1866,Others,false,false,51,false,false,false,false,false,false,false,false,false,false,2989,false,false,false,false,false,false,false,PUBLIC,2,true,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,2,false,false,false +1,1,0,0,1,0,0,0,0,1,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,42082,false,false,false,false,false,false,false,false,false,10,true,4471,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,40691,false,false,false,None,false,false,false,1526,false,false,false,false,false,false,false,1868,String,false,false,52,false,false,false,false,false,false,false,false,false,false,2996,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,true,false,false,false,false,false,false,true,false,false,false,false,42229,false,false,false,false,false,false,false,false,true,5,false,4472,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,40701,false,false,false,None,false,false,false,1527,false,false,false,false,false,true,false,1868,Others,false,false,52,false,false,false,false,false,false,false,false,false,false,3026,false,true,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,42233,false,false,false,false,false,false,false,false,false,4,false,4473,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,40710,false,false,false,None,false,false,false,1527,false,false,false,false,false,false,false,1868,Native,false,false,52,false,false,false,false,false,false,false,false,false,false,3027,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,42233,false,false,false,false,false,false,false,false,false,4,false,4473,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,40710,false,false,false,None,false,false,false,1527,false,false,false,false,false,false,false,1868,Others,false,false,52,false,false,false,false,false,false,false,false,false,false,3027,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,None,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +1,0,0,0,0,0,0,1,0,0,1,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,42242,false,false,false,false,false,false,false,false,false,9,false,4478,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,40735,false,false,false,None,false,false,false,1532,false,false,false,false,false,true,false,1868,Others,false,false,52,false,false,false,false,false,false,false,false,false,false,3028,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,true,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,42269,false,false,false,false,false,false,false,false,false,8,false,4480,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,40757,false,false,false,None,false,false,false,1533,false,false,false,false,false,false,false,1868,Others,false,false,52,false,false,false,false,false,false,false,false,false,false,3032,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,true,false,true,false,false,false,false,false,42361,false,true,false,false,false,false,false,false,false,26,false,4489,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,40814,false,false,false,None,false,false,false,1535,false,false,false,false,false,false,true,1870,Others,false,false,52,false,false,false,false,false,false,false,false,false,false,3039,false,false,true,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,42364,false,false,false,false,false,false,false,false,false,3,false,4489,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,40820,false,false,false,None,false,false,false,1535,false,false,false,false,false,false,false,1870,Others,false,false,52,false,false,false,false,false,false,false,false,false,false,3040,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,42557,false,false,false,false,false,false,true,false,true,6,false,4491,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,40834,false,false,false,None,false,false,false,1536,false,false,false,false,false,false,false,1870,Others,false,false,52,false,false,false,false,false,false,false,false,false,false,3048,false,false,false,false,false,false,false,PUBLIC,4,true,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,6,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,42557,false,false,false,false,false,false,false,false,false,6,false,4491,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,40834,false,false,true,None,false,false,false,1536,false,false,false,false,false,false,false,1870,Others,false,false,52,false,false,false,false,false,false,false,false,false,false,3048,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,42592,false,false,false,false,false,false,false,false,false,35,false,4497,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,40917,false,false,false,None,false,false,false,1536,false,false,false,false,false,false,false,1882,Native,false,false,52,false,false,false,false,false,false,false,false,false,false,3049,false,false,false,false,false,false,false,PUBLIC,6,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,true,1,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,42592,false,false,false,false,false,false,false,false,false,35,false,4497,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,40917,false,false,false,None,false,false,false,1536,false,false,false,false,false,false,false,1882,Others,false,false,52,false,false,false,false,false,false,false,false,false,false,3049,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,true,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,true,false,false,false,false,true,false,false,false,42603,false,false,false,false,false,false,false,false,false,11,false,4500,true,false,false,false,true,false,false,true,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,40946,false,false,true,None,false,false,false,1538,false,false,false,false,false,false,false,1883,Others,false,false,52,false,false,false,false,false,false,false,false,false,false,3050,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,42816,false,false,false,false,false,false,false,false,false,15,false,4504,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,40984,false,false,true,None,false,false,false,1539,false,false,true,false,false,false,false,1885,Others,false,false,52,false,false,false,false,false,false,false,false,false,false,3064,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,42919,false,false,false,false,false,false,false,false,false,103,false,4551,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,41276,false,false,true,None,false,false,true,1541,false,false,false,false,false,false,false,1903,Others,false,false,52,false,false,false,false,false,false,false,false,false,false,3065,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,FINAL,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,42942,false,false,false,false,false,false,false,false,false,19,false,4552,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,41323,false,false,false,None,false,false,false,1541,false,false,false,false,false,false,false,1907,Others,false,false,52,false,false,false,false,false,false,false,false,false,false,3067,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,43155,false,false,false,false,false,false,false,false,false,15,false,4556,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,41361,false,false,true,None,false,false,false,1542,false,false,true,false,false,false,false,1909,Others,false,false,52,false,false,false,false,false,false,false,false,false,false,3081,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,43173,false,false,false,false,false,false,false,false,false,3,false,4556,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,41367,false,false,false,None,false,false,false,1542,false,false,false,false,false,false,false,1909,String,false,false,52,false,false,false,false,false,false,false,false,false,false,3087,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,43234,false,false,false,false,false,false,false,false,false,5,false,4557,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,41377,false,false,false,None,false,false,false,1543,false,false,false,false,false,false,false,1909,Others,false,false,52,false,false,false,false,false,false,false,false,false,false,3094,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,43300,false,false,false,false,false,false,false,false,false,26,false,4568,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,41446,false,false,false,None,true,false,true,1546,false,false,false,false,false,true,false,1912,Others,false,false,52,false,false,false,false,false,false,false,false,false,false,3096,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,43331,false,false,false,false,false,false,false,false,false,25,false,4572,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,41504,false,false,false,None,false,false,false,1548,false,false,false,false,false,false,false,1917,Native,false,false,52,false,false,false,false,false,false,false,false,false,false,3098,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,43428,false,false,false,false,false,false,false,false,false,62,false,4591,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,41656,false,false,false,None,false,false,false,1549,false,false,false,false,false,true,false,1939,Others,false,false,52,false,true,false,false,false,false,false,false,false,false,3100,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,43641,false,false,false,false,false,false,false,false,false,14,false,4595,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,41692,false,false,true,None,false,false,false,1550,false,false,true,false,false,false,false,1941,Others,false,false,52,false,false,false,false,false,false,false,false,false,false,3114,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,43652,false,false,false,false,false,false,false,false,false,11,false,4598,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,41717,false,false,false,None,false,false,false,1552,false,false,false,false,false,false,false,1943,Others,false,false,52,false,false,false,false,false,false,false,false,false,false,3115,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,true,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,44140,false,false,false,false,false,false,false,false,true,5,false,4600,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,true,41728,false,false,false,None,false,false,false,1553,false,false,false,false,false,false,false,1943,Native,false,false,52,false,false,false,false,false,false,false,false,false,false,3136,false,false,false,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,44155,false,false,false,false,false,false,false,false,false,9,false,4602,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,41747,false,true,false,None,false,false,false,1554,false,false,false,false,false,false,false,1943,Others,false,false,52,false,false,false,false,false,false,false,false,true,false,3138,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,44170,false,false,false,false,false,false,false,false,true,15,false,4604,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,41786,false,false,false,None,false,false,false,1554,false,false,false,false,false,false,false,1946,Native,false,false,52,false,false,false,false,false,false,false,false,false,false,3139,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,FINAL,false,false,false,false,false,6,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,44170,false,false,false,false,false,false,false,false,false,15,false,4604,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,41786,false,false,true,None,false,false,false,1554,false,false,false,false,false,false,false,1946,Others,false,false,52,false,false,false,false,false,false,false,false,false,false,3139,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,44276,false,false,false,false,false,false,false,false,false,8,true,4605,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,41805,false,false,false,None,false,false,false,1555,false,false,false,false,false,false,false,1947,String,false,false,52,false,false,false,false,false,false,false,false,false,false,3147,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,44280,false,false,false,false,false,false,false,false,true,4,false,4605,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,41812,false,false,false,None,false,false,false,1555,false,false,false,false,false,false,false,1947,Others,false,false,52,false,false,false,false,false,false,false,false,false,false,3148,false,false,true,false,false,false,false,DEFAULT,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,6,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,44284,false,false,false,false,false,false,false,false,false,4,false,4605,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,41822,false,false,false,None,false,false,false,1555,false,false,false,false,false,false,false,1947,Native,false,false,52,false,false,false,false,false,false,false,false,false,false,3149,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,44309,false,false,false,false,false,false,false,false,true,25,false,4614,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,41879,true,false,false,None,false,false,false,1560,false,false,false,false,false,false,false,1952,Others,false,false,52,false,false,false,false,false,false,false,false,false,false,3150,false,true,false,false,false,false,false,PUBLIC,7,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,6,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,44360,false,false,false,false,false,false,false,false,false,4,true,4614,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,41888,false,false,false,None,false,false,false,1560,false,false,false,false,false,false,false,1952,String,false,false,52,false,false,false,false,false,false,false,false,false,false,3163,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,44879,false,false,false,false,false,false,false,false,true,31,false,4624,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PRIVATE,true,false,false,false,false,false,false,false,false,41966,false,false,false,None,false,false,false,1565,false,false,false,false,false,false,false,1960,String,false,false,52,false,false,false,false,false,false,false,false,false,false,3185,false,false,false,false,false,false,false,PUBLIC,10,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,2,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,44879,false,false,false,false,false,false,false,false,false,31,false,4624,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,41966,false,false,false,None,false,false,false,1565,false,false,false,false,false,false,false,1960,Others,false,false,52,false,false,false,false,false,false,false,false,false,false,3185,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,44896,false,false,false,false,false,false,false,false,false,31,false,4624,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,41966,false,false,false,None,false,false,false,1565,false,false,false,false,false,false,false,1960,Native,false,false,52,false,false,false,false,false,false,false,false,false,false,3188,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,true,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,45063,false,false,false,false,false,false,false,false,false,3,false,4624,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,41972,false,false,false,None,false,false,false,1565,true,false,false,false,false,false,false,1960,String,false,false,52,false,false,false,false,false,false,false,false,false,false,3191,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,true,false,FINAL,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,45074,false,false,false,false,false,false,false,false,false,11,false,4628,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,42001,false,false,false,None,false,false,true,1566,false,false,false,false,true,false,false,1961,Others,false,false,52,false,false,false,false,false,false,false,false,false,false,3192,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,45079,false,false,false,false,false,false,false,false,false,5,false,4629,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,42012,false,false,false,None,false,false,false,1566,false,false,false,false,false,false,false,1961,Others,false,false,52,false,false,false,false,false,false,false,false,false,false,3193,false,false,false,false,false,false,false,DEFAULT,0,false,false,true,FINAL,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,45193,false,false,false,false,false,false,false,false,false,8,true,4630,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,42031,false,false,false,None,false,false,false,1567,false,false,false,false,false,false,false,1962,String,false,false,52,false,false,false,false,false,false,false,false,false,false,3202,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,45200,false,false,false,false,false,false,false,false,false,7,false,4632,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,42051,false,false,false,None,false,false,false,1569,true,false,false,false,false,false,false,1963,Native,false,false,53,false,false,false,false,false,false,false,false,false,false,3203,false,false,false,false,false,false,true,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,6,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,45204,false,false,false,false,false,false,false,false,false,7,false,4632,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,42051,false,false,false,None,false,false,false,1569,false,false,false,false,false,false,false,1963,String,false,false,53,false,false,false,false,false,false,false,false,false,false,3204,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,1,0,0,0,0,1,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,45227,false,false,false,false,false,false,false,false,false,23,false,4632,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,42123,false,false,false,None,false,false,false,1569,false,false,false,false,false,false,false,1965,Others,false,false,54,false,false,false,false,false,false,false,false,false,false,3205,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,true,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,45230,false,false,false,false,false,false,false,false,false,3,false,4633,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,42127,false,false,false,None,false,false,false,1569,false,false,false,false,false,false,false,1965,Others,false,false,54,false,false,false,false,false,false,false,false,false,false,3206,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,45230,false,false,false,false,false,false,false,false,false,3,false,4633,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,42127,false,false,false,None,true,false,false,1569,false,false,false,false,false,false,false,1965,Others,false,false,54,false,false,false,false,false,false,false,false,false,false,3206,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,45281,false,false,false,false,false,false,false,false,false,10,false,4637,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,42152,false,false,false,None,false,false,false,1569,false,false,false,false,false,true,false,1965,Others,false,false,54,false,false,false,false,false,false,false,false,false,true,3212,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,45345,false,false,false,false,false,false,false,false,true,16,false,4639,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,42186,false,false,false,None,false,false,false,1571,false,false,false,false,false,true,false,1968,Others,false,false,54,false,false,false,false,false,false,false,false,false,false,3216,false,true,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,2,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,45351,false,false,false,false,false,false,false,false,false,6,false,4640,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,42201,false,false,false,None,false,false,false,1572,false,true,false,false,false,false,false,1968,Others,false,false,54,false,false,false,false,false,false,false,false,false,false,3217,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,45359,false,false,false,false,false,false,false,false,false,8,false,4643,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,42222,false,false,false,None,false,false,false,1575,false,false,false,false,false,false,false,1968,Native,false,false,54,false,false,false,false,false,false,false,false,false,false,3218,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,true,false,false,false,45410,false,false,false,false,false,false,false,false,false,28,false,4662,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,42302,false,false,false,None,false,false,false,1589,false,false,false,false,false,true,false,1969,Others,false,false,54,false,false,false,false,false,false,false,false,false,false,3220,false,true,false,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,2,false,true,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,45410,false,false,false,false,false,false,false,false,false,28,false,4662,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,42302,false,false,true,None,false,false,false,1589,false,false,false,false,false,false,false,1969,Others,false,false,54,false,false,false,false,false,false,false,false,false,false,3220,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,45417,false,false,false,false,false,false,false,false,false,3,false,4663,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,42306,false,false,false,None,true,false,false,1589,false,false,false,false,false,false,false,1969,Others,false,false,54,false,false,false,false,false,false,false,false,false,false,3222,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,45508,false,false,false,false,false,false,false,false,false,5,false,4663,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,42319,false,false,false,None,false,false,false,1589,false,false,false,false,false,false,false,1969,String,false,false,54,false,false,false,false,false,false,false,false,false,false,3227,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,true,false,false,false,45537,false,false,false,false,false,false,false,false,false,29,false,4671,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,42398,false,false,false,None,false,false,false,1593,false,false,false,false,false,true,false,1975,Native,false,false,54,false,false,false,false,false,false,false,false,false,false,3228,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,3,false,false,false,false,false,false,false,false,false,false,false,false,false,45543,false,false,false,false,false,false,false,false,false,6,false,4672,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,42413,false,false,false,None,false,false,false,1594,false,false,false,false,false,false,false,1975,String,false,false,54,false,false,false,false,false,false,false,false,false,false,3229,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,45548,false,false,false,false,false,false,false,false,false,5,false,4672,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,42425,false,true,true,None,true,false,false,1594,false,false,false,false,false,false,false,1975,Others,false,false,54,false,false,false,false,false,false,false,false,true,false,3230,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,45572,false,false,false,false,false,false,false,false,false,13,false,4676,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,42460,false,false,false,None,false,false,true,1595,false,false,false,false,true,false,false,1977,Native,false,false,54,false,false,false,false,false,false,false,false,false,false,3232,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,45572,false,false,false,false,false,false,false,false,false,13,false,4676,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,42460,false,false,false,None,false,false,false,1595,false,false,false,false,false,false,false,1977,Others,false,false,54,false,false,false,false,false,false,false,false,false,false,3232,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,4,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,45600,false,false,false,false,false,false,false,false,false,25,false,4693,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,42529,false,false,false,None,false,false,false,1599,false,false,false,false,false,false,false,1978,String,false,false,54,false,false,false,false,false,false,false,false,false,false,3234,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,45612,false,true,false,false,false,false,false,false,false,12,false,4696,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,42561,false,false,false,None,false,false,false,1602,false,false,false,false,false,false,false,1978,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3235,false,false,true,false,false,false,true,PUBLIC,3,false,false,false,DEFAULT,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,6,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,45765,false,false,false,false,false,false,false,false,true,77,false,4710,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PROTECTED,true,false,false,false,false,false,false,false,false,42747,false,false,false,None,false,false,false,1606,false,false,false,false,false,true,false,1991,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3243,false,true,false,false,false,false,false,PUBLIC,20,false,false,false,DEFAULT,false,6,false,true,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,45805,false,false,false,false,false,false,false,false,false,24,false,4720,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,42807,false,true,false,None,true,false,false,1611,false,false,false,false,false,false,false,1992,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3245,false,true,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,45811,false,false,false,false,false,false,false,false,false,3,false,4720,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,42813,false,true,false,None,true,false,false,1611,false,false,false,false,false,false,false,1992,String,false,false,55,false,false,false,false,false,false,false,false,false,false,3247,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,45815,false,false,false,false,false,false,false,false,false,4,false,4721,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,42820,false,false,false,None,false,false,false,1612,false,false,false,false,false,false,false,1992,Others,false,false,55,false,false,false,false,false,false,false,false,false,true,3248,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,45815,false,false,false,false,false,false,false,false,false,4,false,4721,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,42820,false,false,false,None,true,false,false,1612,false,false,false,false,false,false,false,1992,String,false,false,55,false,false,false,false,false,false,false,false,false,false,3248,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,45944,false,false,false,false,false,false,false,false,false,17,false,4726,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,42867,false,false,false,None,false,false,false,1614,false,false,false,false,false,false,false,1994,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3254,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,1,1,0,0,0,0,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,45950,true,false,false,false,false,false,false,false,false,3,false,4726,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,42873,false,false,true,None,false,false,false,1614,false,false,false,false,false,false,false,1994,String,false,false,55,false,true,false,false,false,false,false,false,false,false,3256,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,false,6,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,46013,false,false,false,false,false,false,false,false,false,13,false,4727,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,42899,false,false,false,None,false,false,false,1614,false,false,false,false,false,false,false,1994,String,false,false,55,false,false,false,false,false,false,false,false,false,false,3262,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,9,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,46120,false,false,false,false,false,false,false,false,false,7,false,4729,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,42917,false,false,false,None,false,false,false,1615,false,false,false,false,false,false,false,1994,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3274,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,46169,false,false,false,false,false,false,false,false,false,45,false,4737,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,43020,false,false,false,None,false,false,false,1617,false,false,false,false,false,false,false,2003,String,false,false,55,false,false,false,false,false,false,false,false,false,false,3276,false,false,false,false,false,false,false,PUBLIC,5,false,false,false,DEFAULT,false,0,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,6,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,46169,false,false,false,false,false,false,false,false,false,8,false,4739,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,43042,false,false,false,None,false,false,false,1618,false,false,false,false,false,false,false,2003,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3280,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,46173,false,false,false,false,false,false,false,false,false,4,false,4739,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,43049,false,false,false,None,false,false,false,1618,false,false,false,false,false,false,false,2003,Others,false,true,55,false,false,false,false,false,false,false,false,false,false,3281,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,true +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,46295,false,false,false,false,false,false,false,false,false,8,true,4740,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,43068,false,false,false,None,false,false,false,1619,false,false,false,false,false,false,false,2004,String,false,false,55,false,false,false,false,false,false,false,false,false,false,3291,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,46468,false,false,false,false,false,false,false,false,true,27,false,4746,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PROTECTED,true,false,false,false,false,false,false,false,false,43147,false,false,false,None,false,false,false,1620,false,false,false,false,false,false,false,2008,Native,false,false,55,false,false,false,false,false,false,false,false,false,false,3305,false,false,false,false,false,false,false,PUBLIC,2,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,46468,false,false,false,false,false,false,false,false,false,27,false,4746,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,43147,false,false,true,None,false,false,false,1620,false,false,false,false,false,false,false,2008,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3305,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,46468,false,false,false,false,false,false,false,false,false,27,false,4746,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,43147,false,false,true,None,false,false,false,1620,false,false,false,false,false,false,false,2008,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3305,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,4,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,46571,false,false,false,false,false,false,false,false,false,12,false,4748,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,43176,false,false,false,None,false,false,false,1620,false,false,false,false,false,false,false,2011,Native,false,false,55,false,false,false,false,false,false,false,false,false,false,3311,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,46784,false,false,false,false,false,false,false,false,false,14,false,4752,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,43212,false,false,true,None,false,false,false,1621,false,false,true,false,false,false,false,2013,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3325,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,46796,false,false,false,false,false,false,false,false,false,4,false,4754,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,43221,false,false,true,None,false,false,false,1622,false,false,false,false,false,false,false,2013,Native,false,false,55,false,false,false,false,false,false,false,false,false,false,3327,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,46796,false,false,false,false,false,false,false,false,false,4,false,4754,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,43221,false,false,false,None,false,false,false,1622,false,false,false,false,false,false,false,2013,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3327,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,46796,false,false,false,false,false,false,false,false,false,4,false,4754,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,43221,false,false,true,None,false,false,false,1622,false,false,false,false,false,false,false,2013,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3327,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,47064,false,false,false,false,false,false,false,false,false,5,false,4755,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,43231,false,false,true,None,false,false,false,1623,false,false,true,false,false,false,false,2013,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3345,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,47587,false,false,false,false,false,false,false,false,true,4,false,4755,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,43238,false,false,false,None,false,false,false,1623,false,false,false,false,false,false,false,2013,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3368,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,2,false,false,false +0,0,1,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,47612,false,false,false,false,false,false,false,false,false,25,false,4765,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,43307,false,false,false,None,false,false,false,1626,false,false,false,false,false,false,false,2015,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3369,false,false,false,false,false,false,false,DEFAULT,5,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,FINAL,false,false,false,false,false,6,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,47612,false,false,false,false,false,false,false,false,false,25,false,4765,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,43307,false,false,false,None,false,false,false,1626,false,false,false,false,false,false,false,2015,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3369,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,47690,false,false,false,false,false,false,false,false,true,17,false,4767,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,true,43344,false,false,false,None,false,false,false,1627,false,false,false,false,false,true,false,2018,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3374,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,2,false,true,false,false,false,false,false,false,false,false,false,false,false,47707,false,false,false,false,false,false,false,false,false,17,false,4771,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,43385,false,false,true,None,false,false,false,1628,false,false,false,false,false,false,false,2023,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3375,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,true,false,false,false,true,true,false,false,false,47789,false,false,false,false,false,false,false,false,true,50,false,4791,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,43532,false,false,false,None,false,false,false,1636,false,false,false,false,false,false,false,2029,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3378,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,6,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,47789,false,false,false,false,false,false,false,false,false,50,false,4791,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,43532,false,false,true,None,false,false,false,1636,false,false,false,false,false,false,false,2029,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3378,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,47793,false,false,false,false,false,false,false,false,false,4,false,4793,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,43538,false,false,true,None,false,false,true,1636,false,false,false,false,false,false,false,2029,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3379,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,47799,false,false,false,false,false,false,false,false,false,6,false,4795,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,43556,false,false,true,None,false,false,false,1638,false,false,true,false,false,true,false,2029,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3380,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,true,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,47802,false,false,false,false,false,false,false,false,false,3,false,4795,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,43560,false,false,true,None,false,false,false,1638,false,false,false,false,false,false,false,2029,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3381,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,0,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,false,0,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,47812,false,false,false,false,false,false,false,false,false,5,false,4796,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,43570,false,false,false,None,false,false,false,1638,false,false,false,false,false,false,false,2029,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3383,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,47819,false,false,false,false,false,false,false,false,false,7,false,4799,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,43588,false,false,true,None,false,false,false,1638,false,false,false,false,false,false,false,2029,String,false,false,55,false,false,false,false,false,false,false,false,false,false,3384,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,true,false,false,false,false,false,false,false,47819,false,false,false,false,false,false,false,false,false,7,false,4799,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,43588,false,false,false,None,false,false,false,1638,false,false,false,false,false,false,false,2029,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3384,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,true,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,48093,false,false,false,false,false,false,false,false,false,6,false,4800,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,43602,false,false,true,None,false,false,false,1639,false,false,true,false,false,false,false,2029,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3403,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,48093,false,false,false,false,false,false,false,false,false,6,false,4800,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,43602,false,false,false,None,false,false,false,1639,false,false,false,false,false,false,false,2029,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3403,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,48093,false,false,false,false,false,false,false,false,false,6,false,4800,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,43602,false,false,false,None,false,false,false,1639,false,false,false,false,false,false,false,2029,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3403,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,None,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,48146,false,false,false,false,false,false,false,false,false,8,false,4803,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,43623,false,false,false,None,false,false,false,1639,false,false,false,false,false,false,false,2029,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3408,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,48151,false,false,false,false,false,false,false,false,false,5,false,4805,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,43635,false,false,false,None,false,false,false,1640,false,false,false,false,false,false,false,2029,Native,false,false,55,false,false,false,false,false,false,false,false,false,false,3409,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,true,1,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,48167,false,false,false,false,false,false,false,false,false,5,false,4806,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,43647,false,false,false,None,false,false,false,1640,false,false,false,false,false,false,false,2029,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3412,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,2,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,6,false,true,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,48243,false,false,false,false,false,false,false,false,false,27,false,4809,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,43727,false,false,false,None,false,false,false,1641,false,false,false,false,false,false,false,2032,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3415,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,6,false,true,0,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,2,false,true,false,false,false,false,false,false,false,false,false,false,false,48276,false,false,false,false,false,false,false,false,false,33,false,4825,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,43816,false,false,false,None,false,false,true,1644,false,false,false,false,false,false,false,2039,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3416,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,48286,false,false,false,false,false,false,false,false,false,10,false,4830,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,true,43842,false,true,false,None,false,false,false,1649,false,false,false,false,false,true,false,2039,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3417,false,false,false,false,false,false,false,PUBLIC,5,false,false,false,DEFAULT,false,1,false,false,Setter,true,false,false,DEFAULT,false,false,false,false,false,6,false,false,1,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,48317,false,false,false,false,false,false,false,false,false,7,false,4832,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,43858,false,false,false,None,false,false,false,1649,false,false,false,false,false,false,false,2039,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3422,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,48317,false,false,false,false,false,false,false,false,false,7,false,4832,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,43858,false,false,false,None,true,false,false,1649,false,false,false,false,false,false,false,2039,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3422,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,48846,false,false,false,false,false,false,true,false,true,6,false,4834,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,43872,false,false,false,None,false,false,false,1650,false,false,false,false,false,false,false,2039,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3446,false,false,false,false,false,false,false,PUBLIC,4,true,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,true,false,true,false,false,false,false,false,48914,false,false,false,false,false,false,false,false,false,46,false,4848,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,43985,false,false,false,None,false,false,false,1655,false,false,false,false,false,false,false,2048,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3449,false,false,false,false,false,false,false,PUBLIC,5,false,false,true,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,true,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,true,false,false,false,false,true,false,false,false,48977,false,false,false,false,false,false,false,false,false,63,false,4872,true,false,false,true,false,false,false,false,false,false,false,false,true,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,44175,false,false,false,None,false,false,false,1670,false,false,false,false,false,false,false,2048,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3450,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,48995,false,false,false,false,false,false,false,false,false,9,false,4874,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,44192,true,false,false,None,false,false,false,1670,false,false,false,false,false,false,false,2049,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3452,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,49208,false,false,false,false,false,false,false,false,false,15,false,4878,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,44230,false,false,true,None,false,false,false,1671,false,false,true,false,false,false,false,2051,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3466,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,49213,false,false,false,false,false,false,false,false,false,5,false,4878,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,44240,false,false,false,None,false,false,false,1671,false,false,false,false,false,false,false,2051,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3467,false,false,true,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,49218,false,false,false,false,false,false,false,false,false,5,false,4879,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,44250,false,false,false,None,false,false,false,1672,false,false,false,false,false,true,false,2051,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3468,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,49230,false,false,false,true,false,false,false,false,false,12,false,4884,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,44281,false,false,false,None,false,false,false,1672,false,false,false,false,false,false,false,2052,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3469,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,49427,false,false,false,false,false,false,false,false,true,4,false,4885,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,44290,false,false,false,None,false,false,false,1672,false,false,false,false,false,false,false,2052,Native,false,false,55,false,false,false,false,false,false,false,false,false,false,3478,false,false,false,false,false,false,false,PUBLIC,2,true,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,6,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,49497,false,false,false,false,false,false,false,false,false,9,false,4887,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,44312,false,false,false,None,false,false,false,1674,false,false,false,false,false,false,false,2053,String,false,false,55,false,false,false,false,false,false,false,false,false,false,3486,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,true,false,false,false,false,false,false,false,49497,false,false,false,false,false,false,false,false,false,9,false,4887,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,44312,false,false,false,None,false,false,false,1674,false,false,false,false,false,false,false,2053,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3486,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,true,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,49499,false,false,false,false,false,false,false,false,false,2,false,4887,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,44315,false,false,false,None,false,false,false,1674,false,false,false,false,false,false,false,2053,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3487,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,49562,false,false,false,false,false,false,false,false,false,13,false,4888,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,44349,false,false,true,None,false,false,false,1675,false,false,true,false,false,false,false,2053,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3492,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,8,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,49562,false,false,false,false,false,false,false,false,false,13,false,4888,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,44349,false,false,false,None,true,false,false,1675,false,false,false,false,false,false,false,2053,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3492,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,49582,false,false,false,false,false,false,false,false,false,8,false,4890,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,44366,false,false,false,None,false,false,false,1677,true,false,false,false,false,true,false,2053,Native,false,false,55,false,false,false,false,false,false,false,false,false,false,3494,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,49637,false,false,false,false,false,false,false,false,false,4,true,4890,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,44375,false,false,false,None,false,false,false,1677,false,false,false,false,false,false,false,2053,String,false,false,55,false,false,false,false,false,false,false,false,false,false,3508,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,49651,false,false,false,false,false,false,false,false,false,14,false,4896,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,44411,false,false,false,None,false,false,false,1681,false,false,false,false,false,true,false,2053,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3509,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,51505,false,false,false,false,false,false,false,false,true,47,false,4910,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,44591,false,false,false,None,false,false,false,1682,false,false,false,false,false,true,false,2053,Custom,false,false,55,false,false,false,false,false,false,false,false,false,false,3514,false,false,false,false,false,false,false,PUBLIC,28,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,51505,false,false,false,false,false,false,false,false,false,47,false,4910,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,44591,false,false,true,None,false,false,false,1682,false,false,false,false,false,false,false,2053,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3514,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,51510,false,false,false,false,false,false,false,false,false,47,false,4910,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,44591,false,false,false,None,true,false,false,1682,false,false,false,false,false,false,false,2053,String,false,false,55,false,false,false,false,false,false,false,false,false,false,3515,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,51590,false,false,false,false,false,false,false,false,true,16,false,4912,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,44625,false,false,false,None,false,false,false,1684,false,false,false,false,false,true,false,2056,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3520,false,true,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,51596,false,false,false,false,false,false,false,false,false,6,false,4913,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,44643,false,false,false,None,false,false,false,1685,false,false,false,false,true,false,false,2056,Others,false,false,55,false,false,false,false,false,false,false,false,false,false,3521,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,51661,false,false,false,false,false,false,false,false,false,7,false,4913,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,44662,false,false,false,None,false,false,false,1685,false,false,false,false,false,false,false,2056,Others,false,false,56,false,true,false,false,false,false,false,false,false,false,3529,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,5,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,51791,false,false,false,false,false,false,false,false,false,8,true,4914,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,44680,false,false,false,None,false,false,false,1686,false,false,false,false,false,false,false,2057,String,false,false,56,false,false,false,false,false,false,false,false,false,false,3540,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,1,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,51859,false,false,false,false,false,false,false,false,false,14,false,4915,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,44708,false,false,false,None,false,false,false,1686,false,false,false,false,false,false,false,2057,Others,false,false,56,false,false,false,false,false,false,false,false,false,false,3548,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,10,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,51859,false,false,false,false,false,false,false,false,false,14,false,4915,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,44708,false,false,true,None,false,false,false,1686,false,false,false,false,false,false,false,2057,Others,false,false,56,false,false,false,false,false,false,false,false,false,false,3548,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,true,false,false,false,false,false,52114,false,true,false,false,false,false,false,false,false,9,false,4917,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,44730,false,false,false,None,false,false,false,1688,false,false,false,false,false,false,false,2058,Others,false,false,56,false,false,false,false,false,false,false,false,false,false,3566,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,52119,false,false,false,false,false,false,false,false,false,9,false,4917,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,44730,false,false,false,None,true,false,false,1688,false,false,false,false,false,false,false,2058,String,false,false,56,false,false,false,false,false,false,false,false,false,false,3567,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,52119,false,false,false,false,false,false,false,false,false,9,false,4917,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,44730,false,false,false,None,false,false,false,1688,false,false,false,false,false,false,false,2058,Others,false,false,56,false,false,false,false,false,false,false,false,false,false,3567,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,4,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,52212,false,false,false,false,false,false,false,false,true,15,false,4919,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,44767,false,false,false,None,false,false,false,1690,false,false,false,false,false,true,false,2059,Others,false,false,56,false,false,false,false,false,false,false,false,false,false,3573,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,52216,false,false,false,false,false,false,false,false,false,4,false,4920,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,44776,false,false,false,None,false,false,false,1690,false,false,false,false,false,false,false,2059,String,false,false,56,false,false,false,false,false,false,false,false,false,false,3574,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,52233,false,false,false,false,false,false,false,false,false,4,false,4920,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,44776,false,false,false,None,false,false,false,1690,false,false,false,false,false,false,false,2059,Native,false,false,56,false,false,false,false,false,false,false,false,false,false,3577,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,true,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,true,false,false,false,false,false,false,false,52246,false,false,false,false,false,false,false,false,false,13,false,4925,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,44804,false,false,false,None,false,false,false,1691,false,false,false,false,false,false,false,2059,Others,false,false,56,false,false,false,false,false,false,false,false,false,false,3578,false,false,false,false,false,false,true,PUBLIC,5,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,52319,false,false,false,false,false,false,false,false,true,4,false,4926,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,44813,false,false,false,None,false,false,false,1692,false,false,false,false,false,false,false,2059,Native,false,false,56,false,false,false,false,false,false,false,false,false,false,3595,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,52433,false,false,false,false,false,false,false,false,false,114,false,4973,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,45108,true,false,false,None,false,false,false,1705,false,false,false,false,false,true,false,2083,Others,false,false,56,false,false,false,false,false,false,false,false,false,false,3596,false,true,false,false,false,false,false,PUBLIC,5,false,false,false,DEFAULT,false,2,false,true,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,52433,false,false,false,false,false,false,false,false,false,114,false,4973,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,45108,false,false,false,None,false,false,false,1705,false,false,false,false,false,false,false,2083,Others,false,false,56,false,false,false,false,false,false,false,false,false,false,3596,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,52508,false,false,false,false,false,false,false,false,false,22,false,4981,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,45160,false,false,false,None,false,false,true,1707,false,false,false,false,false,false,false,2089,Others,false,false,56,false,false,false,false,false,false,false,false,false,false,3602,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,52624,false,false,false,false,false,false,false,false,false,9,false,4983,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,45186,false,false,false,None,false,false,false,1708,false,false,false,false,false,true,false,2089,Others,false,false,56,false,false,false,false,false,false,false,false,false,false,3615,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,5,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,52643,false,false,false,false,false,false,false,false,false,4,false,4983,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,45193,false,true,false,None,false,false,false,1708,false,false,false,false,false,false,false,2089,Others,false,false,56,false,false,false,false,false,false,false,false,false,false,3618,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,52643,false,false,false,false,false,false,false,false,false,4,false,4983,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,45193,false,false,true,None,false,false,false,1708,false,false,false,false,false,false,false,2089,Others,false,false,56,false,false,false,false,false,false,false,false,false,false,3618,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,1,0,true,0,false,false,false,false,false,false,false,false,false,false,false,false,false,52722,false,false,false,false,false,false,false,false,false,8,false,4985,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,45211,false,true,false,None,false,false,false,1709,false,false,false,false,false,false,false,2090,String,false,false,56,false,false,false,false,false,false,false,false,false,false,3622,false,false,false,false,false,false,false,PUBLIC,2,false,false,true,ABSTRACT,true,1,false,false,Setter,false,false,true,STATIC,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,52722,false,false,false,false,false,false,false,false,false,8,false,4985,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,45211,false,false,true,None,false,false,false,1709,false,false,false,false,false,false,false,2090,Others,false,false,56,false,false,false,false,false,false,false,false,false,false,3622,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,52725,false,false,false,false,false,false,false,false,false,3,false,4985,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,45217,false,false,false,None,false,false,false,1709,false,false,false,false,false,false,false,2090,String,false,false,56,false,false,false,false,false,false,false,false,false,false,3623,false,false,false,false,false,true,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,52749,false,false,false,false,false,false,false,false,false,24,false,4988,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,45278,false,false,true,None,false,false,false,1711,false,false,false,false,false,false,false,2097,Native,false,false,56,false,false,false,false,false,false,false,false,false,false,3624,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,52749,false,false,false,false,false,false,false,false,false,24,false,4988,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,45278,false,false,false,None,false,false,false,1711,false,false,false,false,false,false,false,2097,Others,false,false,56,false,false,false,false,false,false,false,false,false,false,3624,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,4,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,52871,false,false,false,false,false,false,false,false,false,6,false,4989,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,45294,false,false,false,None,false,false,false,1711,false,false,false,false,false,false,false,2097,Others,false,false,56,false,false,false,false,false,false,false,false,false,false,3638,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,52949,false,false,false,false,false,false,false,false,false,15,false,4990,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,45334,false,false,true,None,false,false,false,1712,false,false,true,false,false,false,false,2097,Others,false,false,56,false,false,false,false,false,false,false,false,false,false,3644,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,10,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,52966,false,false,false,false,false,false,false,false,false,17,false,4996,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,PUBLIC,false,false,true,false,false,false,false,false,false,45379,false,false,false,None,false,false,true,1715,false,true,false,false,false,false,false,2099,Others,false,false,56,false,false,false,false,false,false,false,false,false,false,3645,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,false,6,false,false,0,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,true,false,false,false,false,false,false,52971,false,false,false,false,false,false,false,false,false,5,false,4996,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,45390,false,true,true,None,true,false,false,1715,false,false,false,false,false,false,false,2099,Others,false,false,56,false,false,false,false,false,false,false,false,false,false,3646,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,true,false,true,false,false,false,false,false,53043,false,false,false,false,false,false,false,false,false,4,false,4996,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,45400,false,false,false,None,false,false,false,1715,false,false,false,false,false,false,false,2099,Others,false,false,56,false,false,false,false,false,false,false,false,false,false,3650,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,53043,false,false,false,false,false,false,false,false,false,4,false,4996,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,45400,false,false,false,None,false,false,false,1715,false,false,false,false,false,false,false,2099,Others,false,false,56,false,false,false,false,false,false,false,false,false,false,3650,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,53072,false,true,false,false,false,false,false,false,false,16,false,5001,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,45436,false,false,false,None,false,false,false,1717,false,false,false,false,false,false,false,2101,Others,false,false,56,false,false,false,false,false,false,false,false,false,false,3652,false,false,false,false,false,false,false,PUBLIC,5,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,true,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,53072,false,false,false,false,false,false,false,false,false,16,false,5001,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,45436,false,false,false,None,false,false,false,1717,false,false,false,false,false,false,false,2101,Others,false,false,56,false,false,false,false,false,false,false,false,false,false,3652,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,true,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,53351,false,false,false,false,false,false,false,false,false,5,false,5002,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,45446,false,false,true,None,false,false,false,1718,false,false,true,false,false,false,false,2101,Others,false,false,56,false,false,false,false,false,false,false,false,false,false,3672,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,1,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,true,false,false,false,53372,false,false,false,false,false,false,false,false,false,21,false,5013,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,45511,false,false,false,None,false,false,false,1721,false,true,false,false,false,false,false,2102,Others,false,false,56,false,false,false,false,false,false,false,false,false,false,3673,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,53379,false,false,false,false,false,false,false,false,false,7,false,5014,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,45524,false,false,false,None,false,false,false,1721,false,false,false,false,false,false,false,2103,Others,false,false,56,false,false,false,true,false,false,false,false,false,false,3674,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,53408,false,false,false,false,false,false,false,false,false,15,false,5018,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,45562,false,false,true,None,false,false,false,1722,false,false,true,false,false,false,false,2105,Others,false,false,56,false,false,false,false,false,false,false,false,false,false,3689,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,53412,false,false,false,false,false,false,false,false,false,4,false,5018,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,45572,false,false,false,None,false,false,false,1722,false,false,false,false,false,false,false,2105,Others,false,false,56,false,false,false,false,false,false,false,false,false,false,3690,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,6,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,53589,false,false,false,false,false,false,false,false,false,47,true,5039,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,45685,false,false,false,None,false,false,false,1722,false,false,false,false,false,false,false,2121,String,false,false,56,false,false,false,false,false,false,false,false,false,false,3702,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,53592,false,false,false,false,false,false,false,false,false,3,false,5039,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,45691,false,true,false,None,false,false,false,1722,false,false,false,false,false,false,false,2121,String,false,false,56,false,false,false,false,false,false,false,false,true,false,3703,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,true,false,false,false,7,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,53592,false,false,false,false,false,false,false,false,false,3,false,5039,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,45691,false,false,true,None,false,false,false,1722,false,false,false,false,false,false,false,2121,Others,false,false,56,false,false,false,false,false,false,false,false,false,false,3703,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,true,false,false,false,false,false,false,false,false,false,false,false,53597,false,false,false,false,false,false,false,false,true,5,false,5039,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,45701,false,false,false,None,false,false,false,1722,false,false,false,false,false,false,false,2121,Others,false,false,56,false,false,false,false,false,false,false,false,false,false,3704,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,53670,false,false,false,false,false,false,false,false,false,45,false,5044,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,45834,false,false,false,None,false,false,true,1723,true,false,false,false,false,false,false,2128,Native,false,false,57,false,false,false,false,false,false,false,false,false,false,3706,false,false,false,false,false,false,false,PUBLIC,5,false,false,true,ABSTRACT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,53702,false,false,false,false,false,false,false,false,false,32,false,5053,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,45911,true,false,false,None,false,false,false,1727,false,false,false,false,false,true,false,2134,Native,false,false,57,false,false,false,false,false,false,false,false,false,false,3707,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,7,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,53797,false,false,false,false,false,false,false,false,true,15,false,5056,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,45948,false,false,false,None,false,false,false,1730,false,false,false,false,false,true,false,2135,Custom,false,false,57,false,false,false,false,false,false,false,false,false,false,3713,false,true,false,false,false,false,false,PUBLIC,5,false,false,false,DEFAULT,false,0,false,true,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,54010,false,false,false,false,false,false,false,false,true,3,false,5056,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,45954,false,false,false,None,false,false,false,1730,false,false,false,false,false,false,false,2135,Native,false,false,57,false,false,false,false,false,false,false,false,false,false,3719,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,54022,false,false,false,false,false,false,false,false,false,12,false,5059,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,45980,false,false,false,None,false,false,false,1733,false,false,false,false,false,false,false,2136,Others,false,false,57,false,false,false,false,false,false,false,false,false,false,3720,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,3,false,false,Getter,false,false,false,STATIC,false,true,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,54025,false,false,false,false,false,false,false,false,false,3,false,5059,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,45987,false,false,false,None,false,false,false,1733,false,false,false,false,false,false,false,2136,Others,false,false,58,false,false,false,false,false,false,false,false,false,false,3721,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,54089,false,false,false,false,false,false,false,false,false,13,false,5061,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,46022,false,false,false,None,false,false,false,1734,false,false,false,false,false,true,false,2136,Others,false,false,58,false,false,false,false,false,false,false,false,false,false,3729,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,5,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,54177,false,false,false,false,false,false,false,false,false,16,false,5065,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,46060,false,false,false,None,false,false,false,1734,false,false,false,false,false,false,false,2137,Others,false,false,58,false,false,false,false,false,false,false,false,false,false,3734,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,54177,false,false,false,false,false,false,false,false,false,16,false,5065,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,46060,false,false,true,None,false,false,false,1734,false,false,false,false,false,false,false,2137,Others,false,false,58,false,false,false,false,false,false,false,false,false,false,3734,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,54262,false,false,false,false,false,false,false,false,false,6,false,5067,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,46076,false,false,false,None,false,false,false,1734,false,false,false,false,false,false,false,2137,String,false,false,58,false,false,false,false,false,false,false,false,false,false,3739,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,54267,false,false,false,false,false,false,true,false,false,5,false,5069,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,46087,false,false,false,None,false,false,false,1735,false,false,false,false,false,false,false,2137,Native,false,false,59,false,false,false,false,false,false,false,false,false,false,3740,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,ABSTRACT,false,1,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,54301,false,false,false,false,false,false,false,false,false,14,false,5073,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,46117,false,false,false,None,false,false,false,1737,true,false,false,false,false,true,false,2139,Native,false,false,59,false,false,false,false,false,false,false,false,false,false,3743,false,false,false,false,false,false,false,PUBLIC,4,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,1,false,false,false,true,false,false,false,false,false,false,false,false,false,54346,false,false,false,false,false,false,false,false,false,5,false,5075,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,46127,false,false,false,None,false,false,false,1739,false,false,false,false,false,true,false,2139,Others,false,false,59,false,false,false,false,false,true,false,false,false,false,3751,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,true,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,54346,false,false,false,false,false,false,false,false,false,5,false,5075,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,46127,false,false,false,None,true,false,false,1739,false,false,false,false,false,false,false,2139,Others,false,false,59,false,false,false,false,false,false,false,false,false,false,3751,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,54427,false,false,false,false,false,false,false,false,false,6,false,5077,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,46142,false,false,false,None,false,false,false,1739,false,false,false,false,false,false,false,2139,Others,false,false,59,false,false,false,false,false,false,false,false,false,false,3758,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,54539,false,false,false,false,false,false,false,false,true,17,false,5079,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,46179,false,false,false,None,false,false,false,1741,false,false,false,false,false,true,false,2142,Others,false,false,59,false,false,false,false,false,false,false,false,false,false,3765,false,true,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,3,false,false,None,false,true,false,DEFAULT,false,false,false,false,false,7,false,false,2,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,54588,false,false,false,false,false,false,false,false,false,33,false,5084,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,46247,false,false,false,None,false,false,false,1741,false,false,false,false,false,false,false,2147,Others,false,false,59,false,false,false,false,false,false,false,false,false,false,3769,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,3,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,7,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,54621,false,false,false,false,false,false,false,false,false,33,false,5093,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,46334,false,false,false,None,false,false,true,1743,false,false,false,false,false,true,false,2154,Others,false,false,59,false,false,false,false,false,false,false,false,false,false,3770,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,54700,false,false,false,false,false,false,false,false,false,21,false,5101,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,46383,false,false,false,None,false,false,false,1745,false,true,false,false,false,false,false,2155,String,false,false,59,false,false,false,false,false,false,false,false,false,false,3773,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,54748,false,false,false,false,false,false,false,false,true,48,false,5108,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PRIVATE,true,false,false,false,false,false,false,false,false,46506,false,false,false,None,false,false,false,1751,false,false,false,false,false,true,false,2164,Native,false,false,59,false,false,false,false,false,false,false,false,false,false,3774,false,true,false,false,false,false,false,PUBLIC,14,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,true,false,false,false,false,false,false,true,false,false,false,false,54826,false,false,false,false,false,false,false,false,true,5,false,5109,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,46516,false,false,false,None,false,false,false,1752,false,false,false,false,false,false,false,2164,Others,false,false,59,false,false,false,false,false,false,false,false,false,false,3792,false,true,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,54830,false,false,false,false,false,false,false,false,false,5,false,5109,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,46516,false,false,false,None,false,false,false,1752,false,false,false,false,false,false,false,2164,Others,false,false,59,false,false,false,false,false,false,false,false,false,false,3793,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,None,false,false,false,ABSTRACT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,54959,false,false,false,false,false,false,false,false,true,17,false,5111,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,46553,false,false,false,None,false,false,false,1754,false,false,false,false,false,true,false,2167,Others,false,false,59,false,false,false,false,false,false,false,false,false,false,3801,false,true,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,3,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,54996,false,false,false,false,false,false,false,false,false,4,false,5113,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,46562,false,false,false,None,true,false,false,1756,false,false,false,false,false,false,false,2167,String,false,false,59,false,false,false,false,false,false,false,false,false,false,3810,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,55044,false,false,false,false,false,false,false,false,false,48,false,5137,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,true,46691,false,false,false,None,false,false,false,1759,false,false,false,false,false,true,false,2175,String,false,false,59,false,false,false,false,false,false,false,false,false,false,3811,false,true,false,false,false,false,false,PUBLIC,6,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,55144,false,false,false,false,false,false,false,false,true,18,false,5143,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,46739,false,false,false,None,false,false,false,1760,false,false,false,false,false,false,false,2181,Native,false,false,59,false,false,false,false,false,false,false,false,false,false,3815,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,55144,false,false,false,false,false,false,false,false,false,18,false,5143,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,46739,false,false,true,None,false,false,false,1760,false,false,false,false,false,false,false,2181,Others,false,false,59,false,false,false,false,false,false,false,false,false,false,3815,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,55165,false,false,false,false,false,false,false,false,false,18,false,5145,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,46782,false,false,false,None,false,false,false,1760,false,false,false,false,false,false,false,2183,Others,false,false,59,false,false,false,false,false,false,false,false,false,false,3817,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,2,false,false,Setter,false,false,false,FINAL,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,55197,false,false,false,false,false,false,false,false,false,14,false,5149,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,true,false,false,false,false,false,false,46820,false,true,false,None,false,false,false,1760,false,false,false,false,false,false,false,2185,Others,false,false,59,false,false,false,false,false,false,false,false,false,false,3819,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,true,false,false,false,7,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,55356,false,false,false,false,false,false,false,false,true,6,false,5150,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,46831,false,false,false,None,false,false,false,1760,false,false,false,false,false,false,false,2185,Others,false,false,59,false,false,false,false,false,false,false,false,false,false,3828,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,55380,false,false,false,false,false,false,false,false,true,3,false,5150,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,46836,false,false,false,None,false,false,false,1760,false,false,false,false,false,false,false,2185,String,false,false,59,false,false,false,false,false,false,false,false,false,false,3831,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,55446,false,false,false,false,false,false,false,false,false,4,false,5151,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,46845,false,false,false,None,true,false,false,1761,false,false,false,false,false,false,false,2185,String,false,false,59,false,false,false,false,false,false,false,false,false,false,3846,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,55446,false,false,false,false,false,false,false,false,false,4,false,5151,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,46845,false,false,false,None,false,false,false,1761,false,false,false,false,false,false,false,2185,Others,false,false,59,false,false,false,false,false,false,false,false,false,false,3846,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,4,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,55451,false,false,false,false,false,false,false,false,false,5,false,5152,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,46855,false,false,false,None,false,false,false,1761,false,false,false,false,false,false,false,2185,Others,false,false,59,false,false,false,false,false,false,true,false,false,false,3847,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,false,false,false,false,false,55493,false,false,false,false,false,false,false,false,false,38,false,5164,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,true,46946,true,false,false,None,false,false,false,1768,false,false,false,false,false,false,false,2189,Others,false,true,59,false,false,false,false,false,true,false,false,false,false,3849,false,true,false,false,false,false,true,PUBLIC,3,false,false,false,DEFAULT,false,2,false,false,Setter,true,false,false,DEFAULT,false,false,false,false,false,7,false,true,0,false,false,true +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,55524,false,false,false,false,false,false,false,false,false,9,false,5166,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,46966,false,false,false,None,false,false,false,1770,false,false,false,false,false,false,false,2191,String,false,false,59,false,false,false,false,false,false,false,false,false,false,3853,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,true,false,false,false,56108,false,false,false,false,false,false,false,false,true,55,false,5180,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,true,47119,false,false,false,None,false,false,false,1777,false,false,false,false,false,false,false,2199,Others,false,false,59,false,false,false,false,false,false,false,false,false,false,3878,false,true,false,false,false,false,false,PUBLIC,18,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,56108,false,false,false,false,false,false,false,false,false,55,false,5180,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,47119,false,false,false,None,false,false,false,1777,false,false,false,false,false,false,false,2199,String,false,false,59,false,false,false,false,false,false,false,false,false,false,3878,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,7,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,56259,false,false,false,false,false,false,false,false,true,4,false,5181,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,47128,false,false,false,None,false,false,false,1778,false,false,false,false,false,false,false,2199,Native,false,false,59,false,false,false,false,false,false,false,false,false,false,3909,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,56345,false,false,false,false,false,false,false,false,true,4,false,5182,true,false,false,false,false,true,false,true,false,false,false,false,false,true,false,PUBLIC,true,false,false,false,false,false,false,false,false,47137,false,false,false,None,false,false,false,1779,false,false,false,false,false,false,false,2199,String,false,false,59,false,false,false,false,false,false,false,false,false,false,3929,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,2,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,56351,false,false,false,false,false,false,false,false,false,6,false,5183,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,47152,false,false,false,None,false,false,false,1780,false,true,false,false,false,false,false,2199,Others,false,false,59,false,false,false,false,false,false,false,false,false,false,3930,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,0,1,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,56362,false,false,false,false,false,false,false,false,false,11,false,5185,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,47178,false,false,false,None,false,false,false,1781,false,true,false,false,false,false,false,2202,Native,false,false,59,false,false,false,false,false,false,false,false,false,false,3931,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,56547,false,false,false,false,false,false,false,false,false,8,true,5186,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,47197,false,false,false,None,false,false,false,1782,false,false,false,false,false,false,false,2203,String,false,false,59,false,false,false,false,false,false,false,false,false,false,3944,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,56605,false,false,false,false,false,false,false,false,false,3,true,5186,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,47203,false,false,false,None,false,false,false,1782,false,false,false,false,false,false,false,2203,String,false,false,59,false,false,false,false,false,false,false,false,false,false,3959,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,7,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,56813,false,false,false,false,false,false,true,false,true,11,false,5190,true,false,false,false,true,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,47229,false,false,false,None,false,false,false,1785,false,false,false,false,false,false,false,2205,Others,false,false,59,false,false,false,false,false,false,false,false,false,false,3969,false,false,false,false,false,false,false,PUBLIC,6,true,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,57245,false,false,false,false,false,false,false,false,false,35,false,5208,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,47325,false,false,false,None,false,false,false,1786,false,false,false,false,false,false,false,2208,Others,false,false,59,false,false,false,false,false,false,false,false,false,false,3982,false,false,false,false,false,false,false,PUBLIC,6,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,7,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,57245,false,false,false,false,false,false,false,false,false,5,false,5209,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,47337,false,false,false,None,false,false,false,1787,false,false,false,false,false,true,false,2208,Others,false,false,59,false,true,false,false,false,false,false,false,false,false,3984,true,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,0,false,false,false,false,false,false,true,false,false,false,false,false,false,57259,false,false,false,false,false,false,false,false,false,14,false,5214,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,47373,false,true,true,None,false,false,false,1788,false,false,false,false,false,false,false,2210,Others,false,false,59,false,false,false,false,false,false,false,false,false,false,3985,false,true,false,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,57553,false,false,false,false,false,false,false,false,false,15,false,5219,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,47407,false,false,true,None,false,false,false,1790,false,false,true,false,false,false,false,2211,Others,false,false,59,false,false,false,false,false,false,false,false,false,false,4006,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,57617,false,true,false,false,false,false,false,false,false,64,false,5244,true,false,false,false,false,false,true,true,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,47578,false,true,false,None,false,false,true,1804,false,false,false,false,false,true,false,2218,Others,false,false,59,false,false,false,false,false,false,false,false,false,false,4007,false,true,false,false,false,false,false,PUBLIC,13,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,57621,false,false,false,false,false,false,false,false,false,4,false,5244,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,47585,false,false,false,None,false,false,false,1804,false,false,false,false,false,false,false,2218,Others,false,false,59,false,false,false,false,false,false,false,false,false,false,4008,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,true,false,false,false,false,false,false,true,false,false,false,false,57777,false,false,false,false,false,false,false,false,true,5,false,5245,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,47595,false,false,false,None,false,false,false,1805,false,false,false,false,false,true,false,2218,Others,false,false,59,false,false,false,false,false,false,false,false,false,false,4040,false,true,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,57882,false,false,false,false,false,false,false,false,false,24,false,5253,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,47653,false,false,false,None,false,false,true,1808,false,false,false,false,false,false,false,2224,Others,false,false,59,false,false,false,false,false,false,false,false,false,false,4048,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,1,false,false,false,true,false,false,false,false,false,false,false,false,false,57933,false,false,false,false,false,false,false,false,false,6,false,5255,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,47666,false,false,false,None,false,false,false,1810,false,false,false,false,false,true,false,2224,Others,false,false,59,false,false,false,false,false,true,false,false,false,false,4057,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,true,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,58007,false,false,false,false,false,false,false,false,false,68,false,5271,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,47833,false,false,false,None,false,false,true,1815,false,false,false,false,false,false,false,2244,Others,false,false,59,false,false,false,false,true,false,false,false,false,false,4059,true,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,58600,false,false,false,false,false,false,false,false,true,9,false,5274,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,47858,false,false,false,None,false,false,false,1818,false,false,false,false,false,false,false,2245,Others,false,false,59,false,false,false,false,false,false,false,false,false,false,4085,false,false,false,false,false,false,false,PUBLIC,6,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,58605,false,false,false,false,false,false,false,false,false,9,false,5274,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,47858,false,false,false,None,true,false,false,1818,false,false,false,false,false,false,false,2245,Others,false,false,59,false,false,false,false,false,false,false,false,false,false,4086,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,58605,false,false,false,false,false,false,false,false,false,9,false,5276,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,47881,false,false,false,None,false,false,false,1818,false,false,false,false,false,false,false,2245,Others,false,false,59,false,false,false,false,false,false,false,false,false,false,4089,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,true,1,false,false,false,false,false,false,false,false,false,false,false,false,false,58709,false,false,false,false,false,false,false,false,false,33,false,5289,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,47971,false,false,false,None,false,false,false,1821,false,false,false,false,false,false,false,2250,Others,false,false,59,true,false,false,false,false,false,false,false,false,false,4091,false,false,false,false,false,false,true,PUBLIC,3,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,true,STATIC,false,false,false,false,false,7,false,true,1,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,58788,false,false,false,false,false,false,false,false,false,11,false,5290,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,47993,false,false,false,None,false,false,false,1821,false,false,false,false,false,false,false,2250,Others,false,false,59,false,false,false,false,false,false,false,false,false,false,4100,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,7,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,58788,false,false,false,false,false,false,false,false,false,11,false,5290,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,47993,false,false,false,None,true,false,false,1821,false,false,false,false,false,false,false,2250,Others,false,false,59,false,false,false,false,false,false,false,false,false,false,4100,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,58798,false,false,false,false,false,false,false,false,false,3,false,5290,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,47999,false,false,false,None,false,false,false,1821,true,false,false,false,false,false,false,2250,String,false,false,59,false,false,false,false,false,false,false,false,false,false,4103,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,58844,false,false,false,false,false,false,false,false,false,12,false,5294,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,48028,false,false,false,None,false,false,false,1823,true,false,false,false,false,true,false,2250,Native,false,false,60,false,false,false,false,false,false,false,false,false,false,4107,false,false,false,false,false,false,false,PUBLIC,4,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,58960,false,false,false,false,false,false,false,false,false,13,false,5301,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,48067,false,false,false,None,false,false,false,1824,false,false,false,false,false,false,false,2250,String,false,false,60,false,false,false,false,false,false,false,false,false,false,4114,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,1,0,true,0,false,false,false,false,false,false,false,false,false,false,false,false,false,58980,false,false,false,false,false,false,false,false,false,4,false,5302,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,48076,false,false,false,None,false,false,false,1824,false,false,false,false,false,false,false,2250,String,false,false,60,true,false,false,false,false,false,false,false,false,false,4119,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,true,FINAL,false,false,false,false,false,7,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,59134,false,true,false,false,false,false,false,false,false,4,false,5303,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,48083,false,false,false,None,false,false,false,1825,false,false,false,false,false,false,false,2250,Others,false,false,61,false,false,false,false,false,false,false,false,false,false,4131,false,false,false,false,false,false,true,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,true,false,false,true,false,false,false,false,59298,false,false,false,false,false,false,false,false,true,4,false,5304,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,true,48092,false,false,false,None,false,false,false,1826,false,false,false,false,false,false,false,2250,Native,false,false,61,false,false,false,false,false,false,false,false,false,false,4165,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,59897,false,false,false,false,false,false,false,false,true,6,false,5305,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,48103,false,false,false,None,false,false,false,1826,false,false,false,false,false,false,false,2250,Others,false,false,61,false,false,false,false,false,false,false,false,false,false,4192,false,false,false,false,false,false,false,PUBLIC,2,true,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,60211,false,false,false,false,false,false,false,false,false,20,false,5311,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,48151,false,false,true,None,false,false,false,1829,false,false,true,false,false,false,false,2251,Others,false,false,61,false,false,false,false,false,false,false,false,false,false,4214,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,5,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,1,0,0,0,0,1,1,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,60214,false,false,false,false,false,false,false,false,false,3,false,5311,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,48156,false,true,false,None,false,false,false,1829,false,false,false,false,false,false,false,2251,Others,false,false,61,false,false,false,false,false,false,false,false,false,false,4215,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,60445,false,false,false,false,false,false,false,false,true,11,false,5313,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,48185,false,false,false,None,false,false,false,1830,false,false,false,false,false,false,false,2252,Others,false,false,61,false,false,false,false,false,false,false,false,false,false,4220,false,false,false,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,60486,false,false,false,false,false,false,false,false,false,4,false,5315,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,48194,false,false,false,None,true,false,false,1832,false,false,false,false,false,false,false,2252,String,false,false,61,false,false,false,false,false,false,false,false,false,false,4230,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,60545,false,false,false,false,false,false,false,false,false,54,false,5332,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,48343,false,false,false,None,false,false,false,1833,false,false,false,false,false,false,true,2267,Others,false,false,61,false,true,false,false,false,false,false,false,false,false,4232,true,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,60545,false,false,false,false,false,false,false,false,false,54,false,5332,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,48343,false,false,false,None,false,false,false,1833,false,false,false,false,false,false,false,2267,Others,false,false,61,false,false,false,false,false,false,false,false,false,false,4232,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,60604,false,false,false,false,false,false,false,false,false,59,false,5347,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,48495,false,false,false,None,true,false,false,1839,false,false,false,false,false,true,false,2279,Others,false,false,61,false,false,false,false,false,false,false,false,false,false,4233,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,60735,false,false,false,false,false,false,false,false,false,9,false,5349,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,48519,false,false,false,None,false,false,false,1839,false,false,false,false,false,false,false,2279,Others,false,false,61,false,false,false,false,false,false,false,false,false,false,4248,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,60893,false,true,false,false,false,false,false,false,false,4,false,5350,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,48527,false,false,false,None,false,false,false,1840,false,false,false,false,false,false,false,2279,Others,false,false,61,false,false,false,false,false,false,false,false,false,false,4261,false,false,false,false,false,false,true,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,true,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,60893,false,false,false,false,false,false,false,false,false,4,false,5350,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,48527,false,false,false,None,true,false,false,1840,false,false,false,false,false,false,false,2279,Others,false,false,61,false,false,false,false,false,false,false,false,false,false,4261,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,61087,false,false,false,false,false,false,false,false,false,187,false,5423,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,49047,false,false,false,None,false,false,false,1865,false,true,false,false,false,true,false,2303,Others,false,false,61,false,false,false,false,false,false,false,false,false,false,4263,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,61259,false,true,false,false,false,false,false,false,false,14,false,5425,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,49069,false,false,false,None,false,false,false,1867,false,false,false,false,false,false,false,2304,Others,false,false,62,false,false,false,false,true,false,false,false,false,false,4277,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,61263,false,false,false,true,false,false,false,false,false,4,false,5426,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,49078,false,false,false,None,false,false,false,1868,false,false,false,false,false,false,false,2304,Others,false,false,62,false,false,false,false,false,false,false,false,false,false,4278,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,61263,false,false,false,false,false,false,false,false,false,4,false,5426,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,49078,false,false,false,None,true,false,false,1868,false,false,false,false,false,false,false,2304,Others,false,false,62,false,false,false,false,false,false,false,false,false,false,4278,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,61274,false,false,false,false,false,false,false,false,false,11,false,5429,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PROTECTED,false,false,false,false,false,false,false,false,false,49111,false,false,false,None,false,false,false,1868,false,false,false,false,true,true,false,2304,Others,false,false,62,false,false,false,false,false,false,false,false,false,false,4279,false,false,false,false,false,false,false,DEFAULT,0,false,false,true,FINAL,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,1,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,61325,false,false,false,false,false,false,false,false,false,26,false,5431,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,49170,false,false,false,None,false,false,false,1869,false,false,false,false,false,true,false,2307,Others,false,false,62,false,false,false,false,false,false,false,false,false,false,4281,false,false,false,false,false,false,false,DEFAULT,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,FINAL,false,false,false,false,false,7,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,true,false,false,false,61610,false,false,false,false,false,false,false,true,false,30,false,5438,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,49227,true,false,false,None,false,false,false,1871,false,false,false,false,false,false,false,2315,Native,false,false,62,false,false,false,false,false,false,false,false,false,false,4300,false,false,false,false,false,false,false,PUBLIC,5,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,7,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,61789,false,false,false,false,false,false,false,false,true,6,false,5440,true,true,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,49242,false,false,false,None,false,false,false,1873,false,false,false,false,false,false,false,2315,Others,false,false,62,false,false,false,false,false,false,false,false,false,false,4315,false,true,false,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,2,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,61806,false,false,false,false,false,false,false,false,false,17,false,5446,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,PUBLIC,false,false,true,false,false,false,false,false,false,49287,false,false,false,None,false,false,true,1876,false,true,false,false,false,false,false,2317,Others,false,false,62,false,false,false,false,false,false,false,false,false,false,4316,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,61806,false,false,false,false,false,false,false,false,false,24,false,5454,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,49353,false,false,false,None,false,false,false,1879,false,false,false,false,false,true,false,2320,Others,false,false,62,false,false,false,false,false,false,false,false,false,false,4320,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,61806,false,false,false,false,false,false,false,false,false,24,false,5454,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,49353,false,false,true,None,false,false,false,1879,false,false,false,false,false,false,false,2320,Others,false,false,62,false,false,false,false,false,false,false,false,false,false,4320,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,62131,false,false,false,false,false,false,false,false,false,11,false,5457,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,49377,false,false,true,None,false,false,false,1879,false,false,true,false,false,false,false,2321,Others,false,false,62,false,false,false,false,false,false,false,false,false,false,4343,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,62155,false,false,false,false,false,false,false,false,true,12,false,5459,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,49405,false,false,false,None,false,false,false,1881,false,false,false,false,false,true,false,2322,Native,false,false,62,false,false,false,false,false,false,false,false,false,false,4345,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,7,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,62437,false,false,false,false,false,false,false,false,true,123,false,5508,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,true,49745,false,false,false,None,false,false,false,1899,false,false,false,false,false,false,false,2348,Others,false,false,62,false,false,false,false,false,false,false,false,false,false,4355,false,true,false,false,false,false,false,PUBLIC,34,false,false,false,DEFAULT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,0,0,0,0,1,0,0,1,0,0,false,0,false,false,false,false,false,false,true,false,false,false,false,false,false,62440,false,false,false,false,false,false,false,false,false,3,false,5508,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,49751,false,true,true,None,false,false,false,1899,false,false,false,false,false,false,false,2348,Others,false,false,62,false,false,false,false,false,false,false,false,false,false,4356,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,0,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,false,8,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,62447,false,false,false,false,false,false,false,false,false,7,false,5508,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,49767,false,false,true,None,false,false,false,1899,false,false,false,false,false,false,false,2349,Others,false,false,62,false,false,false,false,false,false,false,false,false,false,4357,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,62640,false,false,false,false,false,false,false,false,false,8,true,5509,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,49786,false,false,false,None,false,false,false,1900,false,false,false,false,false,false,false,2350,String,false,false,62,false,false,false,false,false,false,false,false,false,false,4371,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,62918,false,false,false,false,false,false,false,false,false,175,false,5565,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,50253,true,false,true,None,false,false,true,1908,false,false,false,false,false,false,false,2392,Others,false,false,62,false,false,false,false,false,false,false,false,false,false,4373,false,true,false,false,false,false,false,PUBLIC,6,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,8,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,62935,false,false,false,false,false,false,false,false,true,5,false,5566,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,50264,false,false,false,None,false,false,false,1908,false,false,false,false,false,false,false,2392,Others,false,false,62,false,false,false,false,false,false,false,false,false,false,4376,false,false,false,false,false,false,false,PUBLIC,2,true,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,63565,false,false,false,false,false,false,false,false,true,31,false,5574,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PROTECTED,true,false,false,false,false,false,false,false,false,50345,false,false,false,None,false,false,false,1914,false,false,false,false,false,false,false,2398,Others,false,false,62,false,false,false,false,false,false,false,false,false,false,4404,false,false,false,false,false,false,false,PUBLIC,16,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,63733,false,false,false,false,false,false,false,false,true,4,false,5575,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,50354,false,false,false,None,false,false,false,1915,false,false,false,false,false,false,false,2398,String,false,false,62,false,false,false,false,false,false,false,false,false,false,4439,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,63870,false,false,false,false,false,false,false,false,false,6,false,5577,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,50369,false,false,false,None,false,false,false,1916,false,false,false,false,false,false,false,2398,Others,false,false,62,false,false,false,false,false,false,false,false,false,false,4455,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,63874,false,false,false,false,false,false,false,false,false,4,false,5577,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,50378,false,false,false,None,false,false,false,1916,false,false,false,false,false,false,false,2398,Others,false,false,62,false,false,false,false,false,false,false,false,false,false,4456,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,63982,false,false,false,false,false,false,false,false,true,15,false,5579,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,50415,false,false,false,None,false,false,false,1918,false,false,false,false,false,true,false,2399,Others,false,false,62,false,false,false,false,false,false,false,false,false,false,4463,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,63987,false,false,false,false,false,false,false,false,false,15,false,5579,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,50415,false,false,false,None,true,false,false,1918,false,false,false,false,false,false,false,2399,Others,false,false,62,false,false,false,false,false,false,false,false,false,false,4464,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,true,false,false,false,false,true,false,false,false,64027,false,true,false,false,false,false,false,false,false,19,false,5587,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,50460,false,false,true,None,false,false,false,1924,false,false,false,false,false,false,false,2400,Others,false,false,63,false,false,false,false,false,false,false,false,false,false,4466,false,false,true,false,false,false,true,DEFAULT,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,8,false,true,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,64052,false,false,false,false,false,false,false,false,false,18,false,5589,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,50502,false,false,false,None,false,false,false,1926,false,false,false,false,false,false,false,2405,String,false,false,63,false,false,false,false,false,false,false,false,false,false,4468,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,1,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,64064,false,false,false,false,false,false,false,false,false,6,false,5591,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,50516,false,true,false,None,false,false,false,1927,false,false,false,false,false,false,false,2405,Others,false,false,63,false,false,false,false,false,false,false,false,false,false,4470,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,FINAL,false,0,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,false,8,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,64073,false,false,false,false,false,false,false,false,false,9,false,5593,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,50535,false,false,false,None,false,false,false,1927,false,false,false,false,false,false,false,2406,Others,false,false,63,false,false,false,false,false,false,false,false,false,false,4471,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,64250,false,true,false,false,false,false,false,false,false,5,false,5594,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,50546,false,false,false,None,false,false,false,1928,false,false,false,false,false,false,false,2406,Others,false,false,63,false,false,false,false,false,false,false,false,false,false,4486,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,64271,false,false,false,false,false,false,false,false,true,6,false,5595,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,50560,false,false,false,None,false,false,false,1928,false,false,false,false,false,false,false,2406,String,false,false,64,false,false,false,false,false,false,false,false,false,false,4488,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,8,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,64342,false,false,false,false,false,false,false,false,false,7,false,5597,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,50579,false,false,false,None,false,false,false,1930,false,false,false,false,false,true,false,2406,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4497,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,64476,false,false,false,false,false,false,false,false,false,60,false,5628,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,true,50747,false,false,false,None,false,false,false,1941,false,true,false,false,false,true,false,2417,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4500,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,64500,false,false,false,false,false,false,false,false,false,24,false,5638,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,50806,false,false,false,None,true,false,true,1945,false,false,false,false,false,false,false,2422,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4501,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,64543,false,true,false,false,false,false,false,false,false,11,false,5642,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,50829,false,false,false,None,false,false,false,1947,false,false,false,false,false,true,false,2423,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4506,false,false,true,false,false,false,true,PUBLIC,4,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,true,false,false,false,true,true,false,false,false,64779,false,false,false,false,false,false,false,false,true,28,false,5650,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PRIVATE,true,false,false,false,false,false,false,false,false,50900,false,false,false,None,false,false,false,1951,false,false,false,false,false,false,false,2427,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4517,false,false,false,false,false,false,false,PUBLIC,2,true,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,64813,false,false,false,false,false,false,false,false,false,7,false,5652,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,50919,false,false,false,None,false,false,false,1952,false,false,false,false,false,false,false,2427,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4522,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,64875,false,false,false,false,false,false,false,false,false,4,true,5652,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,50928,false,false,false,None,false,false,false,1952,false,false,false,false,false,false,false,2427,String,false,false,64,false,false,false,false,false,false,false,false,false,false,4538,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,8,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,64918,false,false,false,false,false,false,false,false,false,43,false,5670,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,51047,false,false,false,None,false,false,true,1956,false,false,false,false,false,true,false,2435,Others,false,false,64,false,true,false,false,true,false,false,false,false,false,4539,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,64938,false,false,false,false,false,false,false,false,false,20,false,5673,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,51092,false,false,false,None,false,false,false,1956,false,false,false,false,false,false,false,2435,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4540,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,1,0,0,1,0,0,0,1,1,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,64949,false,false,false,false,false,false,false,false,false,11,false,5678,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,true,false,false,false,false,false,false,false,false,51121,false,false,false,None,false,false,false,1956,false,false,false,false,false,false,false,2436,String,false,false,64,false,false,false,false,false,false,false,false,false,false,4541,false,false,false,false,false,false,false,PUBLIC,1,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,true,8,true,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,64990,false,false,false,false,false,false,false,false,false,4,false,5679,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,51130,false,false,false,None,true,false,false,1957,false,false,false,false,false,false,false,2436,String,false,false,64,false,false,false,false,false,false,false,false,false,false,4556,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,65014,false,true,false,false,false,false,false,false,false,24,false,5685,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,51196,false,false,false,None,false,false,true,1957,false,false,false,false,true,false,false,2440,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4557,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,65024,false,false,false,false,false,false,false,false,false,10,false,5689,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,51221,false,false,true,None,false,false,false,1959,false,false,false,false,false,false,false,2441,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4558,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,65024,false,false,false,false,false,false,false,false,false,10,false,5689,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,51221,false,false,true,None,false,false,false,1959,false,false,false,false,false,false,false,2441,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4558,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,65038,false,false,false,false,false,false,false,false,false,9,false,5691,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,51240,false,true,false,None,false,false,false,1960,false,false,false,false,false,false,false,2441,Others,false,false,64,false,false,false,false,false,false,false,false,true,false,4560,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,8,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,65038,false,false,false,false,false,false,false,false,false,5,false,5693,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,51253,false,false,false,None,false,false,false,1961,false,false,false,false,false,false,false,2441,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4561,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,65183,false,false,false,false,false,false,false,false,true,16,false,5695,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,51287,false,false,false,None,false,false,false,1963,false,false,false,false,false,true,false,2444,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4570,false,true,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,65246,false,false,false,false,false,false,false,false,false,63,true,5711,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,51484,false,false,false,None,false,false,false,1965,false,false,false,false,false,false,false,2449,Native,false,false,64,false,false,false,false,false,false,false,false,false,false,4571,false,false,false,true,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,8,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,65342,false,false,false,false,false,false,false,true,false,77,false,5734,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,51655,true,true,false,None,false,false,false,1974,false,false,false,false,false,true,false,2467,Others,false,false,64,false,false,false,false,false,false,false,false,false,true,4575,false,true,false,false,false,false,false,PUBLIC,14,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,65492,false,false,false,false,false,false,false,false,false,13,false,5738,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,51688,false,false,false,None,false,false,false,1975,false,false,false,false,false,false,false,2467,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4592,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,5,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,65537,false,false,false,false,false,false,false,false,false,4,false,5740,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,51697,false,false,false,None,true,false,false,1977,false,false,false,false,false,true,false,2467,String,false,false,64,false,false,false,false,false,false,false,false,false,false,4603,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,65624,false,false,false,false,false,false,false,false,true,16,false,5742,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,51731,false,false,false,None,false,false,false,1979,false,false,false,false,false,true,false,2470,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4609,false,true,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,65631,false,false,false,false,false,false,false,false,false,7,false,5743,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,51749,false,false,false,None,false,false,false,1980,false,false,false,false,false,false,false,2470,Others,false,false,64,false,true,false,false,false,false,false,false,false,false,4610,true,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,65658,false,false,false,false,false,false,false,false,true,3,false,5743,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,51754,false,false,false,None,false,false,false,1980,false,false,false,false,false,false,false,2470,Native,false,false,64,false,false,false,false,false,false,false,false,false,false,4614,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,65691,false,false,false,false,false,false,false,false,false,3,false,5743,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,51760,false,false,false,None,false,false,false,1980,false,false,false,false,false,false,false,2470,Native,false,false,64,false,true,false,false,false,false,false,false,false,false,4616,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,65753,false,true,false,false,false,false,false,false,false,28,false,5751,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,51817,true,false,false,None,false,false,false,1983,false,false,false,false,false,true,false,2475,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4618,false,false,false,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,66392,false,false,false,false,false,false,false,false,true,9,false,5753,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PROTECTED,true,false,false,false,false,false,false,false,false,51837,false,false,false,None,false,false,false,1984,false,false,false,false,false,true,false,2476,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4647,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,66397,false,false,false,false,false,false,false,false,false,5,false,5754,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,51848,false,false,false,None,false,false,false,1985,false,false,false,false,false,false,false,2476,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4648,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,2,false,false,Getter,false,false,false,STATIC,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,66397,false,false,false,false,false,false,false,false,false,5,false,5754,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,51848,false,false,false,None,true,false,false,1985,false,false,false,false,false,false,false,2476,String,false,false,64,false,false,false,false,false,false,false,false,false,false,4648,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,66738,false,false,false,false,false,false,false,false,false,16,false,5758,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,51886,false,false,true,None,false,false,false,1986,false,false,true,false,false,false,false,2477,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4672,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,66747,false,false,false,false,false,false,false,false,false,9,false,5758,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,51905,false,false,true,None,false,false,false,1986,false,false,false,false,false,false,false,2481,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4673,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,66938,false,true,false,false,false,false,false,false,false,14,false,5760,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,51927,false,false,false,None,false,false,false,1988,false,false,false,false,false,false,false,2482,Others,false,false,64,false,false,false,false,true,false,false,false,false,false,4689,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,66953,false,false,false,false,false,false,false,false,false,15,false,5763,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,51961,false,false,false,None,false,false,false,1988,false,false,false,false,false,false,false,2483,String,false,false,64,false,false,false,false,false,false,false,false,false,false,4690,false,false,false,true,false,true,false,PUBLIC,2,false,false,true,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,8,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,66953,false,false,false,false,false,false,false,false,false,15,false,5763,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,51961,false,false,true,None,false,false,false,1988,false,false,false,false,false,false,false,2483,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4690,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,66960,false,false,false,false,false,false,false,false,false,7,false,5763,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,51977,false,false,true,None,false,false,false,1988,false,false,false,false,false,false,false,2484,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4691,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,66970,false,true,false,false,false,false,false,false,false,10,false,5765,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,51999,false,false,false,None,false,false,false,1990,false,false,false,false,false,false,false,2486,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4692,false,false,false,false,false,false,true,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,66991,false,false,false,false,false,false,false,false,false,21,false,5772,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,52061,false,false,false,None,false,false,false,1990,false,false,false,false,false,false,false,2491,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4693,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,67077,false,false,false,false,false,false,false,false,false,7,false,5773,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,52075,false,false,false,None,false,false,false,1990,false,false,false,false,false,false,false,2491,Native,false,false,64,false,false,false,false,false,false,false,false,false,false,4703,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,1,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,67090,false,false,false,false,false,false,false,false,false,13,false,5777,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,PUBLIC,false,false,true,false,false,false,false,false,false,52109,false,false,false,None,false,false,true,1992,false,true,false,false,false,false,false,2492,Others,false,false,64,false,false,false,false,false,false,false,false,false,true,4704,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,67163,false,false,false,false,false,false,false,false,false,4,false,5777,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,52116,false,false,false,None,false,false,false,1992,false,false,false,false,false,false,false,2492,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4713,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,67233,false,false,false,false,false,false,false,false,false,4,false,5778,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,52125,false,false,false,None,true,false,false,1993,false,false,false,false,false,false,false,2492,String,false,false,64,false,false,false,false,false,false,false,false,false,false,4729,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,67405,false,false,false,false,false,false,false,false,true,4,false,5779,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,52134,false,false,false,None,false,false,false,1994,false,false,false,false,false,false,false,2492,String,false,false,64,false,false,false,false,false,false,false,false,false,false,4765,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,67509,false,false,false,false,false,false,false,false,true,17,false,5781,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,52171,false,false,false,None,false,false,false,1996,false,false,false,false,false,true,false,2495,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4772,false,true,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,3,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,67521,false,false,false,false,false,false,false,false,false,8,false,5781,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,52189,false,false,false,None,false,false,false,1996,false,false,false,false,false,false,false,2495,Native,false,false,64,false,false,false,false,false,false,false,false,false,false,4774,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,67763,false,false,false,false,false,false,false,false,true,11,false,5784,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,52218,false,false,false,None,false,false,false,1999,false,false,false,false,false,false,false,2495,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4780,false,true,false,false,false,false,false,PUBLIC,6,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,true,false,false,false,false,true,false,false,false,67890,false,false,false,false,false,false,false,false,false,10,false,5785,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,52244,false,false,true,None,false,false,false,2000,false,false,false,false,false,false,false,2496,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4794,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,67896,false,false,false,false,false,false,false,false,false,3,false,5785,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,52250,false,false,false,None,false,false,false,2000,false,false,false,false,false,false,false,2496,String,false,false,64,false,false,false,false,false,false,false,false,false,false,4796,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,67970,false,false,false,false,false,false,false,false,false,4,false,5786,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,52259,false,false,false,None,true,false,false,2001,false,false,false,false,false,true,false,2496,String,false,false,64,false,false,false,false,false,false,false,false,false,false,4813,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,1,0,0,0,0,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,67992,false,false,false,false,false,false,false,false,false,7,false,5787,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,52277,false,false,false,None,false,false,false,2001,false,true,false,false,false,false,false,2496,Native,false,false,64,false,false,false,false,false,false,false,false,false,false,4816,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,68023,false,false,false,false,false,false,false,false,false,31,false,5795,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,true,52356,false,false,false,None,false,false,false,2005,false,false,false,false,false,true,false,2505,Native,false,false,64,false,false,false,false,false,false,false,false,false,false,4817,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,68044,false,false,false,false,false,false,false,false,false,3,false,5795,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,52362,false,false,false,None,false,false,false,2005,false,false,false,false,false,false,false,2505,String,false,false,64,false,false,false,false,false,false,false,false,false,false,4824,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,68273,false,true,false,false,false,false,false,false,false,38,false,5801,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,52444,false,false,false,None,false,false,false,2005,false,false,false,false,false,false,false,2511,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4841,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,68297,false,false,false,false,false,false,false,false,true,7,false,5802,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,52457,false,false,false,None,false,false,false,2005,false,false,false,false,false,false,false,2511,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4845,false,false,false,false,false,false,false,PUBLIC,2,true,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,68420,false,false,false,false,false,false,false,false,true,15,false,5804,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,52494,false,false,false,None,false,false,false,2007,false,false,false,false,false,true,false,2512,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4853,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,69065,false,false,false,false,false,false,false,false,true,6,false,5805,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,52505,false,false,false,None,false,false,false,2007,false,false,false,false,false,false,false,2512,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4883,false,false,false,false,false,false,false,PUBLIC,2,true,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,69072,false,false,false,false,false,false,false,false,false,7,false,5806,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,true,false,false,false,false,false,false,52519,false,false,false,None,false,false,false,2007,false,false,false,false,false,false,false,2513,Others,false,false,64,false,false,false,true,false,false,false,false,false,false,4884,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,69075,false,false,false,false,false,false,false,false,false,3,false,5807,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,52526,false,false,false,None,false,false,false,2008,false,false,false,false,false,false,false,2513,String,false,false,64,false,false,false,false,false,false,false,false,false,false,4885,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,69212,false,false,false,false,false,false,false,false,true,14,false,5809,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,52560,false,false,false,None,false,false,false,2010,false,false,false,false,false,true,false,2514,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4894,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,true,false,false,false,false,false,false,false,false,false,69212,false,false,false,false,false,false,false,false,false,14,false,5809,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,52560,false,false,false,None,false,false,false,2010,false,false,false,false,false,false,false,2514,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4894,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,None,false,false,false,ABSTRACT,false,false,false,false,false,8,false,false,0,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,69297,false,false,false,false,false,false,false,false,false,36,false,5814,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,52635,false,false,false,None,false,false,false,2010,false,false,false,false,false,false,false,2519,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4899,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,2,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,8,false,true,1,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,69388,false,false,false,false,false,false,false,false,false,5,false,5815,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,52645,false,false,false,None,false,false,false,2010,false,false,false,false,false,false,false,2519,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4910,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,69395,false,false,false,false,false,false,false,false,false,7,false,5816,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,52665,false,false,false,None,false,false,false,2010,false,false,false,false,false,false,false,2519,String,false,false,64,false,false,false,false,false,false,false,false,false,false,4911,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,69406,false,false,false,false,false,false,false,false,false,6,false,5818,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,52681,false,false,false,None,false,false,false,2010,false,false,false,false,false,false,false,2519,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4913,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,69851,false,false,false,false,false,false,false,false,false,13,false,5822,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,52715,false,false,false,None,false,false,false,2012,false,false,false,false,false,true,false,2522,Native,false,false,64,false,false,false,false,false,false,false,false,false,false,4927,false,false,false,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,8,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,69924,false,false,false,false,false,false,false,false,false,9,false,5823,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,52737,false,false,false,None,false,false,false,2013,false,false,false,false,false,false,false,2522,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4935,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,5,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,69991,false,false,false,false,false,false,false,false,false,4,false,5823,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,52747,false,false,false,None,false,false,false,2013,false,false,false,false,false,false,false,2522,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4944,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,8,false,false,0,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,70032,false,false,false,false,false,false,false,false,false,41,false,5837,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,52852,false,false,false,None,false,false,false,2020,false,false,false,false,false,false,false,2528,Others,false,false,64,false,false,false,false,false,false,false,false,false,true,4945,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,true,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,70052,false,false,false,false,false,false,false,false,false,10,false,5839,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,52876,false,false,false,None,false,false,false,2021,false,false,false,false,false,false,false,2529,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4947,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,true,false,true,false,false,false,false,false,70052,false,false,false,false,false,false,false,false,false,20,false,5847,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,52930,false,false,false,None,false,false,false,2021,false,false,false,false,false,false,true,2530,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4950,false,false,false,false,false,false,false,DEFAULT,3,false,false,true,DEFAULT,false,3,false,false,Setter,false,false,false,FINAL,false,false,false,false,false,8,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,true,false,false,false,false,false,false,true,false,false,false,false,70143,false,false,false,false,false,false,false,false,true,5,false,5848,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,52940,false,false,false,None,false,false,false,2022,false,false,false,false,false,false,false,2530,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4971,false,true,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,true,false,false,false,false,false,false,70172,true,false,false,false,false,false,false,false,false,9,false,5850,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,52960,false,false,true,None,false,false,false,2022,false,false,false,false,false,false,false,2531,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4973,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,70177,false,false,false,false,false,false,false,false,false,5,false,5850,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,52971,false,false,false,None,false,false,false,2022,false,false,false,false,false,false,false,2531,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4974,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,1,1,0,0,0,0,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,70183,false,false,false,false,false,false,false,false,false,6,false,5850,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,52985,false,true,false,None,true,false,false,2022,false,false,false,false,false,false,false,2531,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4975,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,70187,false,false,false,false,false,false,false,false,false,4,false,5850,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,52992,false,false,false,None,false,false,false,2022,false,false,false,false,false,false,false,2531,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4976,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,70348,false,false,false,false,false,false,false,false,false,11,false,5853,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,53023,false,false,false,None,false,false,false,2023,false,false,false,false,false,true,false,2532,Others,false,false,64,false,false,false,false,false,false,false,false,false,false,4994,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,70373,false,false,false,false,false,false,false,false,false,12,false,5857,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,53052,false,false,false,None,false,false,false,2025,true,false,false,false,false,true,false,2532,Native,false,false,65,false,false,false,false,false,false,false,false,false,false,4996,false,false,false,false,false,false,false,PUBLIC,4,false,false,false,ABSTRACT,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,8,false,true,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,70422,false,false,false,false,false,false,false,false,false,4,false,5859,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,53061,false,false,false,None,true,false,false,2027,false,false,false,false,false,false,false,2532,Others,false,false,65,false,false,false,false,false,false,false,false,false,false,5008,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,70656,false,true,false,false,false,false,false,false,false,5,false,5860,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,53071,false,false,false,None,false,false,false,2028,false,false,false,false,false,false,false,2532,Others,false,false,65,false,false,false,false,false,false,false,false,false,false,5026,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,true,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,70709,false,false,false,false,false,false,false,false,false,4,false,5862,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,53080,false,false,false,None,true,false,false,2030,false,false,false,false,false,false,false,2532,String,false,false,65,false,false,false,false,false,false,false,false,false,false,5039,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,70714,false,false,false,false,false,false,false,false,false,4,false,5862,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,53080,false,false,false,None,true,false,false,2030,false,false,false,false,false,false,false,2532,String,false,false,65,false,false,false,false,false,false,false,false,false,false,5040,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,70747,false,false,false,false,false,false,false,false,false,12,false,5870,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,53112,false,false,true,None,false,false,false,2033,false,false,false,false,false,true,false,2532,Others,false,false,65,false,false,false,false,false,false,false,false,false,false,5043,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,true,1,false,false,false,false,false,false,false,false,false,false,false,false,false,70812,false,false,false,false,false,false,false,false,false,65,false,5894,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,53309,false,false,false,None,false,false,false,2034,false,false,false,false,false,false,false,2542,Native,false,false,65,true,false,false,false,false,false,false,false,false,false,5044,false,false,false,false,false,false,false,PUBLIC,1,false,false,true,DEFAULT,false,3,false,false,Setter,false,false,true,DEFAULT,false,false,false,false,false,8,false,true,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,70812,false,false,false,false,false,false,false,false,false,65,false,5894,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,53309,false,false,false,None,true,false,false,2034,false,false,false,false,false,false,false,2542,Others,false,false,65,false,false,false,false,false,false,false,false,false,false,5044,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,true,false,ABSTRACT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,70863,false,false,false,false,false,false,false,false,false,51,false,5907,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,53446,false,false,false,None,false,false,true,2035,true,false,false,false,false,false,false,2555,Native,false,false,66,false,false,false,false,false,false,false,false,false,false,5045,false,false,false,false,false,false,false,PUBLIC,1,false,false,true,DEFAULT,false,3,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,8,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,true,false,false,false,false,true,false,false,false,70998,false,false,false,false,false,false,false,false,false,8,false,5908,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,53468,false,false,true,None,false,false,false,2036,false,false,false,false,false,false,false,2556,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5060,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,71134,false,false,false,false,false,false,false,false,false,27,false,5922,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,53538,false,false,false,None,true,false,true,2039,false,false,false,false,false,false,true,2561,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5063,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,0,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,8,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,71134,false,false,false,false,false,false,false,false,false,27,false,5922,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,53538,false,false,true,None,false,false,false,2039,false,false,false,false,false,false,false,2561,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5063,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,71254,false,false,false,false,false,false,false,false,true,16,false,5924,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,53572,false,false,false,None,false,false,false,2041,false,false,false,false,false,true,false,2564,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5071,false,true,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,2,false,false,None,false,true,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,71273,false,false,false,false,false,false,false,false,false,19,false,5933,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,53630,false,false,false,None,false,false,false,2043,false,false,false,false,false,false,false,2564,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5072,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,71372,false,false,false,false,false,false,false,false,true,4,false,5934,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,53639,false,false,false,None,false,false,false,2044,false,false,false,false,false,false,false,2564,Native,false,false,66,false,false,false,false,false,false,false,false,false,true,5095,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,71377,false,false,false,false,false,false,false,false,false,5,false,5935,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,53649,false,false,true,None,false,false,false,2044,false,false,false,false,false,false,false,2564,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5096,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,71553,false,false,false,false,false,false,false,false,false,176,false,5999,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,54118,false,false,false,None,false,false,true,2064,false,false,false,false,false,true,false,2603,Native,false,false,66,false,false,false,false,false,false,false,false,false,true,5097,true,true,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,72204,false,false,false,false,false,false,false,false,true,6,false,6001,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,54134,false,false,false,None,false,false,false,2065,false,false,false,false,false,false,false,2603,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5128,false,false,false,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,true,false,false,false,false,false,false,false,72373,false,false,false,false,false,false,false,false,false,33,false,6019,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,54239,false,false,false,None,true,false,false,2066,false,false,false,false,false,true,false,2605,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5132,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,2,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,8,false,true,0,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,72377,false,false,false,false,false,false,false,false,false,4,false,6019,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,54248,false,false,false,None,false,false,false,2066,false,false,false,false,false,false,false,2605,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5133,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,72605,false,false,false,false,false,false,false,false,false,15,false,6023,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,54287,false,false,true,None,false,false,false,2067,false,false,true,false,false,false,false,2607,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5148,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,1,0,0,0,1,1,1,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,72609,false,false,false,false,false,false,false,false,false,4,false,6023,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,54294,false,true,false,None,false,false,false,2067,false,true,false,false,false,false,false,2607,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5149,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,1,false,false,false +0,0,1,0,0,1,0,0,0,0,0,false,1,false,false,false,false,true,false,false,false,false,true,false,false,false,72741,false,false,false,false,false,false,false,false,false,81,false,6045,true,false,false,true,true,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,true,54501,true,false,false,None,false,false,false,2074,false,false,false,false,false,false,false,2625,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5152,false,false,false,false,false,false,false,DEFAULT,10,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,FINAL,false,false,false,false,false,8,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,72772,false,false,false,false,false,false,false,false,true,7,false,6046,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,54514,false,false,false,None,false,false,false,2074,false,false,false,false,false,false,false,2625,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5157,false,false,false,false,false,false,false,PUBLIC,2,true,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,72835,false,false,false,false,false,false,false,false,false,22,false,6053,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,54572,false,false,false,None,false,false,false,2078,false,false,false,false,false,false,false,2627,Others,false,false,66,false,false,false,false,false,false,false,true,false,false,5165,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,73063,false,false,false,false,false,false,false,false,false,14,false,6057,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,54608,false,false,true,None,false,false,false,2079,false,false,true,false,false,false,false,2629,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5180,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,73063,false,false,false,false,false,false,false,false,false,14,false,6057,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,54608,false,false,false,None,false,false,false,2079,false,false,false,false,false,false,false,2629,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5180,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,5,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,73109,false,false,false,false,false,false,false,false,true,3,false,6057,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,54614,false,false,false,None,false,false,false,2079,false,false,false,false,false,false,false,2629,String,false,false,66,false,false,false,false,false,false,false,false,false,false,5185,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,73118,false,false,false,false,false,false,false,false,false,4,false,6057,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,54621,false,false,false,None,false,false,false,2079,false,false,false,false,false,false,false,2629,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5187,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +1,1,0,0,1,0,0,0,1,1,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,73121,false,false,false,false,false,false,false,false,false,3,true,6057,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,54626,false,false,false,None,false,false,false,2079,false,false,false,false,false,false,false,2629,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5188,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,FINAL,true,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,8,true,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,73379,false,false,false,false,false,false,false,false,true,22,false,6062,true,true,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,54687,false,false,false,None,false,false,false,2083,false,false,false,false,false,true,false,2632,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5200,false,true,false,false,false,false,false,PUBLIC,10,true,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,8,false,false,2,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,73435,false,false,false,false,false,false,false,false,false,16,false,6066,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,54726,false,false,false,None,false,false,false,2084,false,true,false,false,false,false,false,2634,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5202,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,73513,false,false,false,false,false,false,false,false,false,4,false,6067,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,54735,false,false,false,None,true,false,false,2085,false,false,false,false,false,false,false,2634,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5220,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,73871,false,false,false,false,false,false,false,false,false,17,false,6073,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,54774,false,false,true,None,false,false,false,2088,false,false,true,false,false,false,false,2635,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5245,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,5,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,73905,false,false,false,false,false,false,false,false,false,7,false,6075,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,54793,false,false,false,None,false,false,false,2089,false,false,false,false,false,false,false,2635,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5250,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,73983,false,false,false,false,false,false,false,false,false,4,false,6076,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,54802,false,false,false,None,true,false,false,2090,false,false,false,false,false,false,false,2635,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5268,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,74155,false,false,false,false,false,false,false,false,true,4,false,6077,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,54811,false,false,false,None,false,false,false,2091,false,false,false,false,false,true,false,2635,Native,false,false,66,false,false,false,false,false,false,false,false,false,false,5304,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,74453,false,false,false,false,false,false,false,false,false,105,true,6128,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,55112,false,false,false,None,false,false,true,2092,false,false,false,false,false,false,false,2653,String,false,false,66,false,false,false,false,false,false,false,false,false,false,5319,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,74458,false,false,false,false,false,false,false,false,false,105,false,6128,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,55112,false,false,false,None,true,false,false,2092,false,false,false,false,false,false,false,2653,String,false,false,66,false,false,false,false,false,false,false,false,false,false,5320,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,74913,false,false,false,false,false,false,false,false,false,10,false,6130,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,55137,false,false,false,None,false,false,false,2093,false,false,false,false,false,false,false,2653,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5335,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,8,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,74929,false,true,false,false,false,false,false,false,false,16,false,6140,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,55178,false,false,false,None,false,false,true,2098,false,false,false,false,false,false,false,2655,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5336,false,false,false,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,74933,false,false,false,false,false,false,false,false,false,16,false,6140,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,55178,false,false,false,None,false,false,false,2098,false,false,false,false,false,false,false,2655,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5337,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,74933,false,false,false,false,false,false,false,false,false,16,false,6140,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,55178,false,false,true,None,false,false,false,2098,false,false,false,false,false,false,false,2655,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5337,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,75220,false,false,false,false,false,false,false,false,true,5,false,6141,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,55189,false,false,false,None,false,false,false,2099,false,false,false,false,false,false,false,2655,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5348,false,true,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,2,false,false,None,false,true,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,true,false,false,false,false,true,false,false,false,75363,false,false,false,false,false,false,false,false,false,8,false,6142,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,55211,false,false,true,None,false,false,false,2100,false,false,false,false,false,false,false,2656,Others,false,false,66,false,false,false,false,false,false,false,false,false,false,5364,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,true,false,false,false,false,false,true,false,false,false,false,false,75657,false,true,false,false,false,false,false,false,false,9,false,6144,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,55232,false,false,false,None,false,false,false,2101,false,false,false,false,false,false,false,2657,Others,false,false,67,false,false,false,false,false,false,false,false,false,false,5384,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,8,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,75842,false,false,false,false,false,false,false,false,true,6,false,6146,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,55247,false,false,false,None,false,false,false,2103,false,false,false,false,false,false,false,2657,Others,false,false,67,false,false,false,false,false,false,false,false,false,false,5400,false,true,false,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,75842,false,false,false,false,false,false,false,false,true,2,false,6146,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,55249,false,false,false,None,false,false,false,2103,false,false,false,false,false,false,false,2657,Others,false,false,67,false,false,false,false,false,false,false,false,false,false,5401,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,75850,false,false,false,false,false,false,false,false,false,8,false,6148,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,55268,false,false,false,None,false,false,false,2104,false,false,false,false,false,false,false,2657,Others,false,false,67,false,false,false,false,false,false,false,false,false,false,5402,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,true,1,false,false,false +1,1,0,0,1,0,0,1,0,1,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,75879,false,false,false,false,false,false,false,false,false,7,false,6150,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,55286,false,false,false,None,false,false,false,2106,false,false,false,false,true,false,false,2657,String,false,false,67,false,false,false,false,false,false,false,false,false,false,5406,false,false,false,false,false,false,false,PUBLIC,2,false,false,true,FINAL,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,true,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,true,false,false,false,true,true,false,false,false,76003,false,false,false,false,false,false,false,false,true,78,false,6173,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,55492,false,false,false,None,false,false,false,2120,false,false,false,false,false,true,false,2675,Others,false,false,67,false,false,false,false,false,false,false,true,false,false,5412,false,true,false,false,false,false,false,PUBLIC,38,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,76105,false,false,false,false,false,false,false,false,true,3,false,6173,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,55498,false,false,false,None,false,false,false,2120,false,false,false,false,false,false,false,2675,Native,false,false,67,false,false,false,false,false,false,false,false,false,false,5436,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,76484,false,false,false,false,false,false,false,false,false,21,false,6179,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,55549,false,false,true,None,false,false,false,2123,false,false,true,false,false,false,false,2676,Others,false,false,67,false,false,false,false,false,false,false,false,false,false,5462,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,6,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,76498,false,true,false,false,false,false,false,false,false,6,false,6181,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,55562,false,false,false,None,false,false,false,2125,false,false,false,false,false,false,false,2676,Others,false,false,68,false,false,false,false,false,false,false,false,false,false,5464,false,false,true,false,false,false,true,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Setter,false,true,false,SYNCHRONIZED,false,false,false,false,false,8,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,76502,false,false,false,false,false,false,false,false,false,4,false,6181,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,55569,false,true,false,None,true,false,false,2125,false,false,false,false,false,false,false,2676,Others,false,false,68,false,false,false,false,false,false,false,false,false,false,5465,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,1,false,false,false +0,0,1,0,1,1,1,0,1,0,0,false,0,false,false,false,false,false,false,true,false,false,false,false,false,false,76511,false,false,false,false,false,false,false,false,false,9,false,6184,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,55592,false,false,true,None,true,false,false,2126,false,false,false,false,false,true,false,2677,Others,false,false,68,false,true,false,false,false,false,false,false,false,false,5466,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,76525,false,false,false,false,false,false,false,false,false,5,false,6186,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,55602,false,true,false,None,false,false,false,2128,false,false,false,false,false,false,false,2677,Others,false,false,69,false,false,false,false,true,false,false,false,false,false,5469,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,76532,false,false,false,false,false,false,false,false,false,7,false,6187,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,55618,false,false,false,None,false,false,false,2128,false,false,false,false,false,false,false,2677,Others,false,false,69,false,false,false,false,false,false,false,false,false,false,5470,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,76550,false,false,false,false,false,false,false,false,false,18,false,6193,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,55661,false,false,false,None,false,false,false,2131,false,false,false,false,false,false,false,2679,Others,false,false,69,false,false,false,false,false,false,false,false,false,false,5471,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,76555,false,false,false,false,false,false,false,false,false,5,false,6194,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,55670,false,false,false,None,false,false,false,2132,false,false,false,false,false,false,false,2679,Others,false,false,69,false,false,false,false,false,false,false,false,false,false,5472,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,76951,false,false,false,false,false,false,false,false,false,17,false,6200,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,55710,false,false,true,None,false,false,false,2135,false,false,true,false,false,false,false,2680,Others,false,false,69,false,false,false,false,false,false,false,false,false,false,5499,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,8,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,77067,false,false,false,false,false,false,false,false,false,116,false,6262,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,true,56014,false,false,false,None,false,false,false,2168,false,false,false,false,false,true,false,2692,Others,false,false,69,false,false,false,false,false,false,false,false,false,false,5500,false,false,false,false,false,false,false,PUBLIC,25,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,true,false,false,false,false,9,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,77072,false,false,false,false,false,false,false,false,false,5,false,6263,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56026,false,false,false,None,false,false,false,2169,true,false,false,false,false,false,false,2692,Others,false,false,69,false,false,false,false,false,false,false,false,false,false,5501,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,true,false,SYNCHRONIZED,false,false,false,false,false,9,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,77115,false,false,false,false,false,false,false,false,false,22,false,6278,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,true,56092,false,true,false,None,false,false,false,2181,false,false,false,false,false,true,false,2692,Others,false,false,69,false,false,false,false,false,false,false,false,false,false,5504,false,true,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,77134,false,false,false,false,false,false,false,false,false,19,false,6279,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56137,false,false,false,None,false,false,false,2181,false,false,false,false,false,false,false,2697,Native,false,false,69,false,false,false,false,false,false,true,false,false,false,5505,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,77158,false,true,false,false,false,false,false,false,false,12,false,6282,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56169,false,false,false,None,false,false,false,2184,false,false,false,false,false,false,false,2697,Others,false,false,70,false,false,false,false,false,false,false,false,false,false,5507,false,false,true,false,false,false,true,PUBLIC,3,false,false,false,DEFAULT,false,3,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,9,false,true,1,false,false,false +0,0,0,0,0,1,0,0,1,0,0,false,0,false,false,false,false,false,false,true,false,false,false,false,false,false,77164,false,false,false,false,false,false,false,false,false,6,false,6284,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,56184,false,false,true,None,false,false,false,2185,false,false,false,false,false,true,false,2697,Others,false,false,70,false,true,false,false,false,false,false,false,false,false,5508,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,false,9,false,false,0,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,true,false,false,false,false,false,false,77174,true,false,false,false,false,false,false,false,false,10,false,6286,true,false,false,false,false,false,false,false,false,false,false,true,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56209,false,false,true,None,false,false,false,2186,false,true,false,false,false,false,false,2698,Native,false,false,70,false,false,false,false,false,false,false,false,false,false,5509,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,77216,false,true,false,false,false,false,false,false,false,28,false,6294,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56283,false,false,false,None,false,false,false,2187,false,false,false,false,false,false,false,2703,Others,false,false,71,false,false,false,false,false,false,false,false,false,false,5511,false,false,true,false,false,false,true,PUBLIC,4,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,1,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,77220,false,false,false,false,false,false,false,false,false,4,true,6295,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56292,false,false,false,None,false,false,false,2188,false,false,false,false,false,false,false,2703,String,false,false,71,false,false,false,false,false,false,false,false,false,false,5512,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,9,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,77220,false,false,false,false,false,false,false,false,false,4,false,6295,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56292,false,false,true,None,false,false,false,2188,false,false,false,false,false,false,false,2703,Others,false,false,71,false,false,false,false,false,false,false,false,false,false,5512,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,true,false,false,false,false,false,false,false,false,false,false,false,77315,false,false,false,false,false,false,false,false,false,24,false,6303,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56355,false,false,false,None,false,false,true,2191,false,false,false,false,false,true,false,2706,Others,false,false,71,false,false,false,false,false,false,false,false,false,false,5522,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,77554,false,true,false,false,false,false,false,false,false,5,false,6304,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56367,false,false,false,None,false,false,false,2191,false,false,false,false,false,false,false,2706,Others,false,false,71,false,false,false,false,false,false,false,false,false,false,5541,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,77554,false,false,false,false,false,false,false,false,false,5,false,6304,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56367,false,false,true,None,false,false,false,2191,false,false,false,false,false,false,false,2706,Others,false,false,71,false,false,false,false,false,false,false,false,false,false,5541,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,77588,false,false,false,false,false,false,false,false,false,9,false,6307,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56385,true,false,false,None,false,false,false,2192,false,false,false,false,false,false,false,2706,Others,false,false,71,false,false,false,false,false,false,false,false,false,false,5544,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,9,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,true,false,false,false,true,true,false,false,false,77781,false,false,false,false,false,false,false,false,true,8,false,6311,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,56408,false,false,false,None,false,false,false,2196,false,false,false,false,false,false,false,2706,Others,false,false,71,false,false,false,false,false,false,false,false,false,false,5561,false,false,false,false,false,false,false,PUBLIC,6,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,77822,false,false,false,false,false,false,false,false,true,6,false,6312,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,56419,false,false,false,None,false,false,false,2196,false,false,false,false,false,false,false,2706,Others,false,false,71,false,false,false,false,false,false,false,false,false,false,5568,false,false,false,false,false,false,false,PUBLIC,2,true,false,false,DEFAULT,false,2,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,77892,false,false,false,false,false,false,false,false,false,7,false,6313,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56433,false,false,false,None,false,false,false,2196,false,false,false,false,false,false,false,2706,String,false,false,71,false,false,false,false,false,false,false,false,false,false,5575,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,1,false,false,false +0,0,1,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,77995,false,false,false,false,false,false,false,false,false,40,false,6323,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56551,false,false,false,None,false,false,false,2199,false,false,false,false,false,true,false,2708,Others,false,false,71,false,false,false,false,false,false,false,false,false,false,5577,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,77995,false,false,false,false,false,false,false,false,false,40,false,6323,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56551,false,false,false,None,false,false,false,2199,false,false,false,false,false,false,false,2708,Others,false,false,71,false,false,false,false,false,false,false,false,false,false,5577,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,9,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,78000,false,false,false,false,false,false,false,false,false,5,false,6323,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56560,false,false,false,None,false,false,false,2199,true,false,false,false,false,false,false,2708,Native,false,false,72,false,false,false,false,false,false,false,false,false,false,5578,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,3,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,9,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,78065,false,false,false,false,false,false,false,false,false,3,true,6323,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,56566,false,false,false,None,false,false,false,2199,false,false,false,false,false,false,false,2708,String,false,false,72,false,false,false,false,false,false,false,false,false,false,5595,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,9,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,true,false,false,false,false,false,false,false,false,false,78122,false,false,false,false,false,false,false,false,false,6,false,6325,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56579,false,false,false,None,false,false,false,2200,false,false,false,false,false,true,false,2708,Others,false,false,72,false,false,false,false,false,false,false,false,false,false,5605,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,78122,false,false,false,false,false,false,false,false,false,6,false,6325,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56579,false,false,true,None,false,false,false,2200,false,false,false,false,false,false,false,2708,Others,false,false,72,false,false,false,false,false,false,false,false,false,false,5605,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,78122,false,false,false,false,false,false,false,false,false,6,false,6325,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56579,false,false,true,None,false,false,false,2200,false,false,false,false,false,false,false,2708,Others,false,false,72,false,false,false,false,false,false,false,false,false,false,5605,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,78122,false,false,false,false,false,false,false,false,false,6,false,6325,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56579,false,false,true,None,false,false,false,2200,false,false,false,false,false,false,false,2708,Others,false,false,72,false,false,false,false,false,false,false,false,false,false,5605,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,78179,false,true,false,false,false,false,false,false,false,6,false,6328,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,56592,false,false,true,None,false,false,false,2203,false,false,false,false,false,false,false,2708,Others,false,false,72,false,false,false,false,false,false,false,false,false,false,5608,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,true,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,78215,false,false,false,false,false,false,false,false,false,7,false,6331,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,true,56612,false,false,false,None,false,false,false,2203,false,false,false,false,false,false,false,2708,Others,false,false,72,false,false,false,false,false,false,false,false,false,false,5612,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,STATIC,false,false,false,false,true,9,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,78235,false,false,false,false,false,false,false,false,false,20,false,6334,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56664,false,false,false,None,false,false,false,2206,false,false,false,false,false,false,false,2713,Native,false,false,72,true,false,false,false,false,false,false,false,false,false,5613,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,78291,false,false,false,false,false,false,false,false,true,15,false,6339,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,56706,false,false,false,None,false,false,false,2209,false,false,false,false,false,false,false,2715,String,false,false,72,false,false,false,false,false,false,false,false,false,false,5621,false,false,false,false,false,false,false,PUBLIC,7,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,78291,false,false,false,false,false,false,false,false,false,15,false,6339,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56706,false,false,false,None,false,false,false,2209,false,false,false,false,false,false,false,2715,Others,false,false,72,false,false,false,false,false,false,false,false,false,false,5621,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,78442,false,false,false,false,false,false,false,false,true,14,false,6341,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,56740,false,false,false,None,false,false,false,2211,false,false,false,false,false,true,false,2716,Others,false,false,72,false,false,false,false,false,false,false,false,false,false,5631,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,78445,false,false,false,false,false,false,false,false,false,3,false,6342,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56746,false,false,false,None,false,false,false,2212,false,false,false,false,false,false,false,2716,Others,false,false,72,false,false,false,false,false,false,false,false,false,false,5632,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,1,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,78750,false,false,false,false,false,false,false,false,false,7,true,6343,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,56762,false,false,false,None,false,false,false,2213,false,false,false,false,false,false,false,2717,String,false,false,72,false,false,false,false,false,false,false,false,false,false,5648,false,false,false,true,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,79032,false,false,false,false,false,false,false,false,false,4,false,6344,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56771,false,false,true,None,false,false,false,2214,false,false,false,false,false,false,false,2717,Others,false,false,72,false,false,false,false,false,false,false,false,false,false,5651,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,79496,false,false,false,false,false,false,false,false,false,9,false,6345,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56790,false,false,false,None,false,false,false,2214,false,false,false,false,false,false,false,2720,Native,false,false,72,false,false,false,false,false,false,false,false,false,false,5667,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,9,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,79897,false,false,false,false,false,false,false,false,false,5,false,6346,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56800,false,false,true,None,false,false,false,2215,false,false,true,false,false,false,false,2720,Others,false,false,72,false,false,false,false,false,false,false,false,false,false,5695,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,79905,false,false,false,false,false,false,false,false,false,8,false,6348,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,56820,false,false,false,None,false,false,false,2215,false,false,false,false,false,true,false,2720,Others,false,false,72,false,false,false,false,false,false,false,false,false,false,5696,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,true,false,false,false,false,false,false,false,false,false,false,false,79905,false,false,false,false,false,false,false,false,false,11,false,6351,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,56849,false,false,false,None,false,false,false,2216,false,false,false,false,false,true,false,2722,Others,false,false,72,false,true,false,false,false,false,false,false,false,false,5698,true,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,79909,false,false,false,false,false,false,false,false,false,11,false,6351,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56849,false,false,false,None,false,false,false,2216,false,false,false,false,false,false,false,2722,String,false,false,72,false,false,false,false,false,false,false,false,false,false,5699,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,80108,false,false,false,false,false,false,false,false,false,5,false,6352,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56862,false,false,false,None,false,false,false,2217,false,true,false,false,false,false,false,2722,Others,false,false,72,false,false,false,false,false,false,false,false,false,false,5702,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,80400,false,false,false,false,false,false,false,false,true,5,false,6352,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,56874,false,false,false,None,false,false,false,2217,false,false,false,false,false,false,false,2722,Native,false,false,72,false,false,false,false,false,false,false,false,false,false,5714,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,80400,false,false,false,false,false,false,false,false,false,5,false,6352,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56874,false,false,false,None,false,false,false,2217,false,false,false,false,false,false,false,2722,Others,false,false,72,false,true,false,false,false,false,false,false,false,false,5714,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,80648,false,true,false,false,false,false,false,false,false,9,false,6354,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56897,false,false,false,None,false,false,false,2217,false,false,false,false,false,false,false,2723,Others,false,false,72,false,false,false,false,false,false,false,false,false,false,5734,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,80648,false,false,false,false,false,false,false,false,false,9,false,6354,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56897,false,false,false,None,false,false,false,2217,false,false,false,false,false,false,false,2723,Others,false,false,72,false,true,false,false,false,false,false,false,false,false,5734,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,81121,false,false,false,false,false,false,false,false,false,9,false,6356,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56920,false,false,false,None,false,false,false,2218,false,false,false,false,false,false,false,2723,Others,false,false,72,false,false,false,false,false,false,false,false,false,false,5751,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,9,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,81190,false,false,false,false,false,false,false,false,false,4,true,6356,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,56929,false,false,false,None,false,false,false,2218,false,false,false,false,false,false,false,2723,String,false,false,72,false,false,false,false,false,false,false,false,false,false,5769,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,9,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,81846,false,false,false,false,false,false,false,false,true,5,false,6358,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,true,56940,false,false,false,None,false,false,false,2219,false,false,false,false,false,false,false,2723,Native,false,false,72,false,false,false,false,false,false,false,false,false,false,5801,false,false,false,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,81846,false,false,false,false,false,false,false,false,false,5,false,6358,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56940,false,false,true,None,false,false,false,2219,false,false,false,false,false,false,false,2723,Others,false,false,72,false,false,false,false,false,false,false,false,false,false,5801,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,4,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,9,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,81846,false,false,false,false,false,false,false,false,false,5,false,6358,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56940,false,false,false,None,false,false,false,2219,false,false,false,false,false,false,false,2723,Others,false,false,72,false,false,false,false,false,false,false,false,false,false,5801,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,5,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,81852,false,false,false,false,false,false,false,false,false,6,false,6360,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56955,false,false,false,None,false,false,false,2219,false,false,false,false,false,false,false,2723,Others,false,false,72,false,false,false,false,false,false,false,false,false,false,5802,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,true,false,81901,false,false,false,false,false,false,false,true,false,4,false,6361,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,56965,false,false,false,None,false,false,false,2219,false,false,false,false,false,true,false,2723,Others,false,false,72,false,false,false,false,false,false,false,false,false,false,5807,false,false,false,false,false,true,false,PUBLIC,1,false,false,false,FINAL,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,81916,false,false,false,false,false,false,false,false,false,15,false,6365,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,57000,false,false,false,None,false,false,false,2222,false,false,false,false,false,true,false,2725,Others,false,false,72,false,false,false,false,false,false,false,false,false,false,5808,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,1,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,82229,false,false,false,false,false,false,false,false,false,8,true,6366,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,true,false,false,57018,false,false,false,None,false,false,false,2223,false,false,false,false,false,false,false,2726,String,false,false,72,false,false,false,false,false,false,false,false,false,false,5825,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,true,false,false,false,false,false,false,false,false,false,82229,false,false,false,false,false,false,false,false,false,8,false,6366,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,57018,false,false,false,None,false,false,false,2223,false,false,false,false,false,false,false,2726,Others,false,false,72,false,false,false,false,false,false,false,false,false,false,5825,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,82457,false,false,false,false,false,false,false,false,false,21,false,6371,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,57072,false,false,true,None,false,false,false,2225,false,false,true,false,false,false,false,2730,Others,false,false,72,false,false,false,false,false,false,false,false,false,false,5840,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,82721,false,false,false,false,false,false,true,false,true,6,false,6373,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,57086,false,false,false,None,false,false,false,2226,false,false,false,false,false,false,false,2730,Others,false,false,72,false,false,false,false,false,false,false,false,false,false,5853,false,false,false,false,false,false,false,PUBLIC,4,true,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,82730,false,false,false,false,false,false,false,false,false,9,false,6373,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,57105,false,false,false,None,false,false,false,2226,false,false,false,false,false,false,false,2733,Native,false,false,72,false,false,false,false,false,false,false,false,false,false,5854,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,82748,false,false,false,false,false,false,false,false,false,18,false,6379,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,true,57148,false,false,false,None,false,true,false,2227,false,false,false,false,false,false,false,2736,Others,false,false,72,false,false,false,false,false,false,false,false,false,true,5855,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,83229,false,false,false,false,false,false,false,false,false,8,false,6379,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,57168,false,false,false,None,false,false,false,2227,false,false,false,false,false,false,false,2736,Others,false,false,72,false,false,false,false,false,false,false,false,false,false,5873,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,9,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,83229,false,false,false,false,false,false,false,false,false,8,false,6379,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,57168,false,false,true,None,false,false,false,2227,false,false,false,false,false,false,false,2736,Others,false,false,72,false,false,false,false,false,false,false,false,false,false,5873,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,83234,false,false,false,false,false,false,false,false,false,8,false,6379,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,57168,false,false,false,None,true,false,false,2227,false,false,false,false,false,false,false,2736,Others,false,false,72,false,false,false,false,false,false,false,false,false,false,5874,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,83305,false,false,false,false,false,false,false,false,false,15,false,6381,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,57200,false,false,false,None,false,false,false,2228,false,false,false,false,false,false,false,2737,Others,false,false,72,false,false,false,false,false,false,false,false,false,false,5876,false,false,false,false,false,false,false,DEFAULT,0,true,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,83469,false,false,false,false,false,false,false,false,true,13,false,6383,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,57231,false,false,false,None,false,false,false,2229,false,false,false,false,false,true,false,2738,Native,false,false,72,false,false,false,false,false,false,false,false,false,false,5887,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,83647,false,false,false,false,false,false,false,false,true,14,false,6385,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,57265,false,false,false,None,false,false,false,2231,false,false,false,false,false,true,false,2739,Others,false,false,72,false,false,false,false,false,false,false,false,false,false,5899,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,83774,false,false,false,false,false,false,false,false,true,3,false,6385,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,57271,false,false,false,None,false,false,false,2231,false,false,false,false,false,false,false,2739,Native,false,false,72,false,false,false,false,false,false,false,false,false,false,5906,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,83790,false,false,false,false,false,false,false,false,false,9,false,6387,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,57297,false,false,false,None,false,false,false,2233,true,false,false,false,false,false,false,2740,Native,false,false,73,false,false,false,false,false,false,false,false,false,false,5908,false,false,false,false,false,false,true,PUBLIC,2,false,false,true,DEFAULT,false,3,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,9,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,1,0,true,0,false,false,false,false,false,false,false,false,false,false,false,false,false,83814,false,false,false,false,false,false,false,false,false,4,false,6388,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,57306,false,false,false,None,false,false,false,2233,false,false,false,false,false,false,false,2740,String,false,false,73,true,false,false,false,false,false,false,false,false,false,5914,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,true,FINAL,false,false,false,false,false,9,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,83854,false,false,false,false,false,false,false,false,false,40,false,6395,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,57422,false,false,false,None,false,false,false,2239,false,false,false,false,false,false,false,2747,Native,false,false,73,true,false,false,false,false,false,false,false,false,false,5915,false,false,false,false,false,false,false,PUBLIC,6,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,83854,false,false,false,false,false,false,false,false,false,5,false,6396,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,57432,false,false,false,None,false,false,false,2239,false,false,false,false,false,false,false,2747,Others,false,false,73,false,false,false,false,false,false,false,false,false,false,5916,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,83860,false,false,false,false,false,false,false,false,false,6,false,6398,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,57446,false,false,false,None,false,false,false,2239,false,false,false,false,false,false,false,2747,Others,false,false,73,false,false,false,false,false,false,false,false,false,false,5917,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,0,false,false,Setter,false,false,false,FINAL,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,83862,false,false,false,false,false,false,false,false,false,2,false,6398,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,57449,false,true,false,None,false,false,false,2239,false,false,false,false,false,false,false,2747,Native,false,false,73,false,false,false,false,false,false,false,false,true,false,5918,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,true,false,STATIC,false,false,false,false,false,9,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,83942,false,false,false,false,false,false,false,false,false,7,false,6399,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,57465,false,false,false,None,false,false,false,2240,false,false,false,false,false,false,false,2747,Others,false,false,73,false,false,false,false,false,false,false,false,false,false,5927,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,83964,false,false,false,false,false,false,false,false,false,22,false,6401,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,57524,false,false,false,None,false,false,false,2242,false,false,false,false,true,false,false,2751,Others,false,false,73,false,false,false,false,false,false,false,false,false,false,5928,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,true,false,false,false,false,true,false,false,false,84115,false,false,false,false,false,false,false,false,false,8,false,6402,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,57546,false,false,true,None,false,false,false,2243,false,false,false,false,false,false,false,2752,Others,false,false,73,false,false,false,false,false,false,false,false,false,false,5945,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,84144,false,false,false,false,false,false,false,false,false,14,false,6407,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,57584,false,false,false,None,false,false,false,2246,false,false,false,false,false,true,false,2754,Others,false,false,73,false,false,false,false,false,false,false,false,false,false,5947,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,84277,false,true,false,false,false,false,false,false,false,30,false,6416,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,57663,false,false,false,None,false,false,false,2250,false,false,false,false,false,false,false,2757,Others,false,false,73,false,false,false,false,false,false,false,false,false,false,5953,false,false,false,false,false,false,false,PUBLIC,5,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,84281,false,false,false,false,false,false,false,false,false,30,false,6416,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,57663,false,false,false,None,false,false,false,2250,false,false,false,false,false,false,false,2757,Others,false,false,73,false,false,false,false,false,false,false,false,false,false,5954,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,None,false,false,false,ABSTRACT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,84334,false,false,false,false,false,false,false,false,false,4,false,6417,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,57672,false,false,false,None,true,false,false,2251,false,false,false,false,false,true,false,2757,String,false,false,73,false,false,false,false,false,false,false,false,false,false,5972,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,true,false,false,false,false,false,false,false,false,false,false,false,84344,false,false,false,false,false,false,false,false,true,5,false,6417,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,57682,false,false,false,None,false,false,false,2251,false,false,false,false,false,false,false,2757,Others,false,false,73,false,false,false,false,false,false,false,false,false,false,5974,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,84520,false,false,false,false,false,false,false,false,true,4,false,6418,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,57691,false,false,false,None,false,false,false,2252,false,false,false,false,false,false,false,2757,String,false,false,73,false,false,false,false,false,false,false,false,false,false,6011,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,84600,false,false,false,false,false,false,false,false,false,12,false,6420,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,57719,false,false,false,None,false,false,false,2253,false,false,false,false,false,false,false,2757,Others,false,false,73,false,false,false,false,false,false,false,false,false,false,6020,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,3,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,84643,false,false,false,false,false,false,false,false,false,43,false,6434,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,true,false,false,false,false,false,false,57813,false,true,false,None,false,false,false,2253,false,false,false,false,false,false,false,2777,String,false,false,73,false,false,false,false,false,false,false,false,false,false,6021,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,9,false,false,1,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,84643,false,false,false,false,false,false,false,false,false,43,false,6434,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,57813,false,false,false,None,false,false,false,2253,false,false,false,false,false,false,false,2777,Others,false,false,73,false,false,false,false,false,false,false,false,false,false,6021,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,true,9,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,86510,false,false,false,false,false,false,false,false,true,13,false,6438,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,57854,false,false,false,None,false,false,false,2253,false,false,false,false,false,false,false,2777,Custom,false,false,73,false,false,false,false,false,false,false,false,false,false,6027,false,false,false,false,false,false,false,PUBLIC,6,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,86686,false,false,false,false,false,false,false,false,true,4,false,6439,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,57863,false,false,false,None,false,false,false,2254,false,false,false,false,false,true,false,2777,Native,false,false,73,false,false,false,false,false,false,false,false,false,false,6064,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,86859,false,false,false,false,false,false,false,false,false,12,false,6442,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,57893,false,false,false,None,false,false,false,2255,false,false,false,false,false,false,false,2777,Others,false,false,73,false,false,false,false,false,false,false,false,false,false,6083,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,5,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,86876,false,false,false,false,false,false,false,false,false,12,false,6442,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,57893,false,false,false,None,false,false,false,2255,false,false,false,false,false,false,false,2777,Native,false,false,73,false,false,false,false,false,false,false,false,false,false,6086,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,true,Setter,false,false,false,ABSTRACT,false,false,false,false,false,9,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,true,false,false,false,false,false,false,false,false,false,86939,false,false,false,false,false,false,false,false,false,6,false,6444,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,57906,false,false,false,None,false,false,false,2256,false,false,false,false,false,true,false,2777,Others,false,false,73,false,false,false,false,false,false,false,false,false,false,6097,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,86994,false,true,false,false,false,false,false,false,false,12,false,6448,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,57932,false,false,false,None,false,false,false,2258,false,false,false,false,false,true,false,2778,Others,false,false,73,false,false,false,false,false,false,false,false,false,false,6103,false,false,true,false,false,false,true,PUBLIC,4,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,87079,false,false,false,false,false,false,false,false,false,7,false,6449,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,57950,false,false,true,None,false,false,false,2259,false,false,true,false,false,false,false,2778,Others,false,false,73,false,false,false,false,false,false,false,false,false,false,6110,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,true,0,false,false,false,false,false,false,false,false,false,false,false,false,false,87171,false,false,false,false,false,false,false,false,false,92,false,6460,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,58222,false,false,false,None,false,false,false,2260,false,false,false,false,false,false,false,2803,Others,false,false,73,false,false,false,false,false,false,false,false,false,false,6111,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,true,STATIC,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,true,false,false,false,false,false,false,false,87176,false,false,false,false,false,false,false,false,true,5,false,6460,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,58235,false,false,false,None,false,false,false,2260,false,false,false,false,false,false,false,2803,Native,false,false,73,false,false,false,false,false,false,false,false,false,false,6112,false,false,false,false,false,false,false,DEFAULT,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,true,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,87392,false,false,false,false,false,false,false,false,true,3,false,6460,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,58241,false,false,false,None,false,false,false,2260,false,false,false,false,false,false,false,2803,Native,false,false,73,false,false,false,false,false,false,false,false,false,false,6119,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,87640,false,false,false,false,false,false,false,false,true,6,false,6460,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,58252,false,false,false,None,false,false,false,2260,false,false,false,false,false,false,false,2803,Others,false,false,74,false,false,false,false,false,false,false,false,false,false,6126,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,Setter,true,false,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,true,false,false,false,false,false,false,true,false,false,false,false,87750,false,false,false,false,false,false,false,false,true,8,false,6462,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,58271,false,false,false,None,false,false,false,2262,false,false,false,false,false,false,false,2803,Others,false,false,74,false,false,false,false,false,false,false,false,false,false,6151,false,true,false,false,false,false,false,PUBLIC,4,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,87943,false,false,false,false,false,false,false,false,false,24,false,6472,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,58334,false,false,false,None,true,false,true,2265,false,false,false,false,false,false,false,2806,Others,false,false,74,false,false,false,false,false,false,false,false,false,false,6156,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,9,false,true,0,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,0,false,false,false,false,false,false,true,false,false,false,false,false,false,87996,false,false,false,false,false,false,false,false,false,15,false,6474,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,58367,false,false,true,None,false,false,false,2267,false,false,false,false,false,false,false,2807,Others,false,false,74,false,false,false,false,false,false,false,false,false,false,6159,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,88281,false,false,false,false,false,false,false,false,true,21,false,6479,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,58426,false,false,false,None,false,false,false,2271,false,false,false,false,false,true,false,2810,Others,false,false,74,false,false,false,false,false,false,false,false,false,false,6173,false,true,false,false,false,false,false,PUBLIC,10,true,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,88309,false,false,false,false,false,false,false,false,false,5,false,6481,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,58435,false,false,false,None,false,false,false,2273,false,false,false,false,false,false,false,2810,Others,false,false,74,false,false,false,false,true,false,false,false,false,false,6175,false,false,true,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,88309,false,false,false,false,false,false,false,false,false,5,false,6481,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,58435,false,false,false,None,false,false,false,2273,false,false,false,false,false,false,false,2810,Native,false,false,74,false,false,false,false,false,false,false,false,false,false,6175,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,88314,false,false,false,false,false,false,false,false,false,5,false,6481,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,58435,false,false,false,None,true,false,false,2273,false,false,false,false,false,false,false,2810,String,false,false,74,false,false,false,false,false,false,false,false,false,false,6176,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,88444,false,false,false,false,false,false,false,false,true,3,false,6481,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,58441,false,false,false,None,false,false,false,2273,false,false,false,false,false,false,false,2810,String,false,false,74,false,false,false,false,false,false,false,false,false,false,6184,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,88454,false,false,false,false,false,false,false,false,false,10,false,6484,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,58468,false,false,false,None,false,false,false,2276,false,false,false,false,false,false,false,2810,Native,false,false,74,false,false,false,false,false,false,false,false,false,false,6185,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,88496,false,false,false,false,false,false,false,false,false,4,false,6484,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,58477,false,false,false,None,false,false,false,2276,false,false,false,false,false,false,false,2810,String,false,false,74,false,false,false,false,false,false,false,false,false,false,6187,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,88597,false,false,false,false,false,false,false,false,false,23,false,6491,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,58528,false,true,false,None,true,false,false,2279,false,false,false,false,false,false,false,2816,Others,false,false,74,false,true,false,false,false,false,false,false,false,false,6192,true,true,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,true,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,88624,false,false,false,false,false,false,false,false,false,21,false,6506,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,58589,false,false,false,None,false,false,false,2285,false,false,false,false,false,false,false,2818,String,false,false,74,false,false,false,false,false,false,false,false,false,false,6195,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,89026,false,false,false,false,false,false,false,false,true,186,false,6561,true,false,false,false,false,true,false,false,false,false,false,false,true,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,59095,false,false,false,None,false,false,false,2316,false,false,false,false,false,true,false,2859,Custom,false,false,74,false,false,false,false,false,false,false,false,false,false,6203,false,true,false,false,false,false,false,PUBLIC,80,false,false,false,DEFAULT,false,1,false,true,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,1,1,false,0,false,false,false,false,false,false,false,false,false,false,true,false,false,89034,false,false,false,false,false,false,false,false,false,8,false,6563,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,true,false,false,false,false,false,59113,false,false,false,None,false,false,false,2316,false,false,false,false,true,false,false,2859,Others,true,false,74,false,false,false,false,false,false,false,false,false,false,6204,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,FINAL,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,89058,false,false,false,false,false,false,false,false,false,3,false,6563,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,59119,false,false,false,None,false,false,false,2316,false,false,false,false,false,false,false,2859,String,false,false,74,false,false,false,false,false,false,false,false,false,false,6212,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,89203,false,false,false,false,false,false,false,false,false,16,false,6567,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,59162,false,false,false,None,false,false,false,2317,false,false,false,false,false,false,false,2861,Others,false,false,74,false,false,false,false,false,false,false,false,false,false,6219,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,89226,false,false,false,false,false,false,false,false,false,6,false,6568,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,59174,false,false,false,None,false,false,false,2317,false,false,false,false,false,false,false,2861,Others,false,false,74,false,false,false,false,false,false,false,false,false,false,6223,false,false,false,false,false,false,false,PUBLIC,1,true,false,false,ABSTRACT,false,2,false,true,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,89228,false,false,false,false,false,false,false,false,false,2,false,6568,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,59177,false,false,false,None,false,false,false,2317,false,false,false,false,false,false,false,2861,Native,false,false,74,false,false,false,false,false,false,false,false,false,false,6224,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,89243,false,true,false,false,false,false,false,false,false,15,false,6571,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,59216,false,false,false,None,false,false,false,2319,false,false,false,false,false,false,false,2864,Others,false,false,75,false,false,false,false,false,false,false,false,false,false,6225,false,false,false,false,false,false,true,PUBLIC,2,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,true,false,false,false,false,true,false,false,false,89402,false,false,false,false,false,false,false,false,false,8,false,6572,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,59238,false,false,true,None,false,false,false,2320,false,false,false,false,false,false,false,2865,Others,false,false,75,false,false,false,false,false,false,false,false,false,false,6243,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,9,false,false,0,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,89484,false,false,false,false,false,false,false,false,false,3,false,6572,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,59245,false,false,false,None,false,false,false,2320,false,true,false,false,false,false,false,2865,String,false,false,75,false,false,false,false,false,false,false,false,false,false,6247,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,89494,false,false,false,false,false,false,false,false,false,10,false,6575,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,59268,false,true,false,None,false,false,false,2321,false,false,false,false,false,false,false,2866,Others,false,false,75,false,false,false,false,false,false,false,false,false,false,6248,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,90159,false,false,false,false,false,false,false,false,true,9,false,6578,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PROTECTED,true,false,false,false,false,false,false,false,false,59295,false,false,false,None,false,false,false,2324,false,false,false,false,false,false,false,2866,Others,false,false,75,false,false,false,false,false,false,false,false,false,false,6281,false,false,false,false,false,false,false,PUBLIC,6,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,90165,false,false,false,false,false,false,false,false,false,6,false,6580,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,59307,false,false,false,None,false,false,false,2324,false,false,false,false,false,false,false,2866,Others,false,false,75,false,false,false,false,false,false,false,false,false,false,6282,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,90476,false,true,false,false,false,false,false,false,false,17,false,6586,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,59345,false,false,false,None,false,false,true,2326,false,false,false,false,false,false,false,2871,Others,false,false,75,false,false,false,false,false,false,false,false,false,false,6303,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,9,false,true,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,90511,false,false,false,false,false,false,false,true,false,35,false,6601,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,59440,false,false,false,None,false,false,false,2330,false,false,false,false,false,false,false,2873,Others,false,false,75,false,false,false,false,false,false,false,false,false,false,6304,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,90548,false,false,false,false,false,false,false,false,true,17,false,6610,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,true,59487,false,false,false,None,false,false,false,2331,false,false,false,false,false,false,false,2874,Others,false,false,75,false,false,false,false,false,false,false,false,false,false,6306,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,true,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,90728,false,false,false,false,false,false,false,false,false,7,false,6612,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,59505,false,false,false,None,false,false,false,2332,false,false,false,false,false,false,false,2874,Others,false,false,75,false,false,false,false,false,false,false,false,false,false,6326,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,true,false,false,false,false,true,false,false,false,90895,false,false,false,false,false,false,false,false,false,8,false,6613,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,59527,false,false,true,None,false,false,false,2333,false,false,false,false,false,false,false,2875,Others,false,false,75,false,false,false,false,false,false,false,false,false,false,6345,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,91314,false,false,false,false,false,false,false,false,false,18,false,6619,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,59569,false,false,true,None,false,false,false,2336,false,false,true,false,false,false,false,2876,Others,false,false,75,false,false,false,false,false,false,false,false,false,false,6374,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,6,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +1,1,0,0,1,0,0,1,1,1,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,91376,false,false,false,false,false,false,false,false,false,33,false,6632,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,59667,false,false,false,None,false,false,false,2336,false,false,false,false,true,false,false,2880,String,false,false,75,false,false,false,false,false,false,false,false,false,false,6379,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,91872,false,false,false,false,false,false,false,false,false,15,false,6635,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,59705,false,false,false,None,false,false,false,2337,false,false,false,false,false,false,false,2882,Others,false,false,75,false,false,false,false,false,false,false,false,false,false,6398,false,false,false,false,false,false,false,PUBLIC,3,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,9,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,92127,false,false,false,false,false,false,false,false,true,7,false,6637,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,59723,false,false,false,None,false,false,false,2339,false,false,false,false,false,true,false,2882,Others,false,false,75,false,false,false,false,false,false,false,false,false,false,6406,false,true,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,3,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,92132,false,false,false,false,false,false,false,false,false,5,false,6637,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,59731,false,false,false,None,false,false,false,2339,false,false,false,false,false,false,false,2882,Others,false,false,75,false,false,false,false,false,false,false,false,false,false,6407,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,true,false,false,false,false,false,92451,false,true,false,false,false,false,false,false,false,8,false,6638,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,59750,false,false,false,None,false,false,false,2339,false,false,false,false,false,false,false,2883,Others,false,false,75,false,false,false,false,false,false,false,false,false,false,6429,false,false,false,false,false,false,true,PUBLIC,0,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,9,false,false,1,false,false,false +0,1,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,92455,false,false,false,false,false,false,false,false,false,4,false,6639,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,true,false,false,false,false,false,59761,false,false,false,None,false,false,false,2340,false,false,false,false,false,false,false,2883,String,false,false,75,false,false,false,false,false,false,false,false,false,false,6430,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,true,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,92474,false,false,false,false,false,false,false,false,false,4,false,6639,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,59770,false,false,false,None,false,false,false,2340,false,false,false,false,false,false,false,2883,Native,false,false,75,false,false,false,false,false,false,false,false,false,false,6432,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,9,false,false,0,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,true,false,false,false,false,false,false,false,92474,false,false,false,false,false,false,false,false,false,4,false,6639,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,59770,false,false,false,None,false,false,false,2340,false,false,false,false,false,false,false,2883,Others,false,false,75,false,false,false,false,false,false,false,false,false,false,6432,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,true,9,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,92474,false,false,false,false,false,false,false,false,false,4,false,6639,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,59770,false,false,false,None,false,false,false,2340,false,false,false,false,false,false,false,2883,String,false,false,75,false,false,false,false,false,false,false,false,false,false,6432,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,true,false,false,false,false,false,92572,false,false,false,false,false,false,false,false,false,13,false,6641,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,59789,false,false,false,None,false,false,false,2341,false,false,false,false,false,false,false,2884,Others,false,false,75,false,false,false,false,true,false,false,false,false,false,6438,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,9,false,true,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,92577,false,false,false,false,false,false,false,false,false,5,false,6642,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,59801,false,false,false,None,false,false,false,2342,false,false,false,false,false,false,false,2884,Others,false,false,75,false,false,false,false,false,false,false,false,false,false,6439,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,STATIC,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,92805,false,false,false,false,false,false,false,false,false,15,false,6646,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,59839,false,false,true,None,false,false,false,2343,false,false,true,false,false,false,false,2886,Others,false,false,75,false,false,false,false,false,false,false,false,false,false,6454,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,92908,false,false,false,false,false,false,false,false,false,8,false,6648,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,59861,false,false,false,None,false,false,false,2343,false,false,false,false,false,false,false,2886,Others,false,false,75,false,false,false,false,false,false,false,false,false,false,6465,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,false,93025,false,false,false,false,false,false,false,false,true,4,false,6649,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,59870,false,false,false,None,false,false,false,2344,false,false,false,false,false,false,false,2886,Native,false,false,75,false,true,false,false,false,false,false,false,false,false,6492,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,93035,false,false,false,false,false,false,false,false,false,10,false,6652,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,59897,false,false,false,None,false,false,false,2344,false,false,false,false,false,false,false,2887,Others,false,false,75,false,false,false,false,false,false,false,false,false,false,6493,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,93128,false,false,false,false,false,false,false,false,false,8,false,6653,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,59916,false,false,true,None,false,false,false,2345,false,false,true,false,false,false,false,2887,Others,false,false,75,false,false,false,false,false,false,false,false,false,false,6501,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,93206,false,false,false,false,false,false,false,false,false,4,false,6654,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,59925,false,false,false,None,true,false,false,2346,false,false,false,false,false,false,false,2887,String,false,false,75,false,false,false,false,false,false,false,false,false,false,6519,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,true,false,false,false,false,false,false,true,false,false,false,false,93328,false,false,false,false,false,false,false,false,true,5,false,6655,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,59935,false,false,true,None,false,false,false,2347,false,false,false,false,false,false,false,2887,Others,false,false,75,false,false,false,false,false,false,false,false,false,false,6547,false,true,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,93385,false,false,false,false,false,false,false,false,false,4,false,6657,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,59944,false,false,false,None,true,false,false,2349,false,false,false,false,false,false,false,2887,Others,false,false,75,false,false,false,false,false,false,false,false,false,false,6561,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,93464,false,false,false,false,false,false,false,false,false,6,false,6658,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,59957,false,false,false,None,false,false,false,2349,false,false,false,false,false,false,false,2887,Others,false,false,75,false,false,false,false,false,false,false,false,false,false,6571,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,93476,false,false,false,false,false,false,false,false,false,5,false,6659,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,59969,false,false,false,None,false,false,false,2350,true,false,false,false,false,false,false,2887,Native,false,false,76,false,false,false,false,false,false,false,false,false,false,6573,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,9,false,true,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,93509,false,false,false,false,false,false,false,false,false,33,false,6669,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,true,false,false,false,false,false,false,60058,false,false,false,None,false,false,false,2350,false,false,false,false,false,false,false,2896,String,false,false,76,false,false,false,false,false,false,true,false,false,false,6574,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,9,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,93509,false,false,false,false,false,false,false,false,false,33,false,6669,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,PUBLIC,false,false,false,false,false,false,false,false,false,60058,false,false,false,None,true,false,false,2350,false,false,false,false,false,false,false,2896,String,false,false,76,false,false,false,false,false,false,false,false,false,false,6574,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,93542,false,false,false,false,false,false,false,false,false,5,false,6670,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,60068,false,false,false,None,false,false,false,2351,false,false,false,false,false,false,false,2896,Others,false,false,76,false,false,false,false,false,false,false,false,false,false,6577,false,false,true,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,93866,false,true,false,false,false,false,false,false,false,5,false,6671,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,60078,false,false,false,None,false,false,false,2352,false,false,false,false,false,false,false,2897,Others,false,false,77,false,false,false,false,false,false,false,false,false,false,6600,false,false,false,false,false,false,true,PUBLIC,1,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,9,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,93874,false,false,false,false,false,false,false,false,false,5,false,6672,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,60089,false,false,false,None,false,false,false,2352,false,false,false,false,false,false,false,2897,Others,false,false,77,false,false,false,false,false,false,false,false,false,false,6602,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,93877,false,false,false,false,false,false,false,false,false,3,false,6672,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,60095,false,false,false,None,false,false,false,2352,false,false,false,false,false,false,false,2897,Native,false,false,77,false,false,false,false,false,false,false,false,false,false,6603,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,93877,false,false,false,false,false,false,false,false,false,3,false,6672,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,60095,false,false,true,None,false,false,false,2352,false,false,false,false,false,false,false,2897,Others,false,false,77,false,false,false,false,false,false,false,false,false,false,6603,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,93880,false,false,false,false,false,false,false,false,false,3,false,6673,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,60101,false,false,false,None,false,false,false,2352,false,false,false,false,false,false,false,2897,Others,false,false,77,false,false,false,false,false,false,false,false,false,false,6604,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,93905,false,false,false,false,false,false,false,false,false,25,false,6680,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,60166,false,false,false,None,false,false,true,2357,false,false,false,false,false,false,false,2905,Others,false,false,77,false,false,false,false,false,false,false,false,false,false,6605,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,true,false,false,false,false,false,false,true,false,false,false,false,94173,false,false,false,false,false,false,false,false,true,13,false,6683,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,60199,false,false,false,None,false,false,false,2360,false,false,false,false,false,false,false,2907,Others,false,false,77,false,false,false,false,false,false,false,false,false,false,6614,false,true,false,false,false,false,false,PUBLIC,6,false,false,false,DEFAULT,false,3,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,94187,false,false,false,false,false,false,false,false,false,6,false,6687,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,60216,false,false,false,None,false,false,false,2363,false,false,false,false,false,true,false,2907,String,false,false,77,false,false,false,false,false,false,false,false,false,false,6616,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,94191,false,false,false,false,false,false,false,false,false,4,false,6688,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,60225,false,false,false,None,false,false,false,2364,false,false,false,false,false,false,false,2907,Others,false,false,77,false,false,false,false,false,false,false,false,false,false,6617,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,true,Setter,false,false,false,DEFAULT,false,true,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,true,false,false,false,false,false,false,false,false,false,false,false,94279,false,false,false,false,false,false,false,false,false,8,false,6689,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,60244,false,false,false,None,false,false,false,2365,false,false,false,false,false,false,false,2907,Others,false,false,77,false,false,false,false,false,false,false,false,false,false,6627,false,true,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,4,false,false,None,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +1,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,94303,false,false,false,false,false,false,false,false,false,16,false,6691,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,60284,false,false,false,None,false,false,false,2365,false,false,false,false,false,false,false,2909,Others,false,false,77,false,false,false,false,false,false,false,false,false,false,6629,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,true,false,false,false,false,true,false,false,false,94478,false,false,false,false,false,false,false,false,false,8,false,6692,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,60306,false,false,true,None,false,false,false,2366,false,false,false,false,false,false,false,2910,Others,false,false,77,false,false,false,false,false,false,false,false,false,false,6649,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,94635,false,false,false,false,false,false,false,false,false,39,false,6702,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,60405,false,false,false,None,false,false,false,2366,false,false,false,false,false,false,false,2918,Others,false,false,78,false,false,false,false,false,false,false,false,false,false,6651,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,94645,false,false,false,false,false,false,false,false,true,10,false,6705,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,60429,false,false,false,None,false,false,false,2369,false,false,false,false,false,false,false,2919,Native,false,false,78,false,false,false,false,false,false,false,false,false,false,6652,false,false,false,false,false,false,false,PUBLIC,6,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,94666,false,true,false,false,false,false,false,false,false,21,false,6711,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,60474,true,false,false,None,false,false,false,2371,false,false,false,false,false,false,false,2922,Others,false,false,78,false,false,false,false,false,false,false,false,false,false,6653,false,false,false,false,false,false,false,PUBLIC,6,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,true,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,95005,false,false,false,false,false,false,false,false,true,47,false,6712,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PRIVATE,true,false,false,false,false,false,false,false,false,60609,false,false,false,None,false,false,false,2371,false,false,false,false,false,false,false,2924,Others,false,false,78,false,true,false,false,false,false,false,false,false,false,6666,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,95005,false,false,false,false,false,false,false,false,false,47,false,6712,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,60609,false,false,false,None,true,false,false,2371,false,false,false,false,false,false,false,2924,String,false,false,78,false,false,false,false,false,false,false,false,false,false,6666,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,1,0,0,0,1,0,1,0,0,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,95015,false,false,false,false,false,false,false,false,false,5,false,6713,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,60618,false,true,false,None,true,false,false,2371,false,true,false,false,false,false,false,2924,Native,false,false,78,false,false,false,false,false,false,false,false,false,false,6668,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,95015,false,false,false,false,false,false,false,false,false,5,false,6713,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,60618,false,false,false,None,false,false,false,2371,false,false,false,false,false,false,false,2924,String,false,false,78,false,false,false,false,false,false,false,false,false,false,6668,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,0,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,95207,false,false,false,false,false,false,false,false,true,14,false,6715,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,60652,false,false,false,None,false,false,false,2373,false,false,false,false,false,true,false,2925,String,false,false,78,false,false,false,false,false,false,false,false,false,false,6681,false,false,false,false,false,false,false,PUBLIC,3,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,95210,false,false,false,false,false,false,false,false,false,3,false,6715,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,DEFAULT,false,false,false,false,false,false,false,false,false,60658,false,true,false,None,false,false,false,2373,false,false,false,false,false,false,false,2925,Others,false,false,78,false,false,false,false,false,false,false,false,true,false,6682,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,9,false,false,1,false,false,false +0,1,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,95314,false,false,false,false,false,false,false,false,false,13,false,6716,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,60684,false,false,false,None,false,false,false,2373,false,false,false,false,false,false,false,2925,Others,false,false,78,false,false,false,false,false,false,false,false,false,false,6694,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,9,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,95333,false,false,false,false,false,false,false,false,false,19,false,6717,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,60736,false,false,false,None,false,false,false,2374,true,false,false,false,false,false,false,2928,Native,false,false,78,false,false,false,false,false,false,false,false,false,false,6695,false,false,false,false,false,false,false,PUBLIC,1,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,true,1,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,95757,false,false,false,false,false,false,false,false,false,5,false,6718,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,60746,false,false,true,None,false,false,false,2375,false,false,true,false,false,false,false,2928,Others,false,false,78,false,false,false,false,false,false,false,false,false,false,6725,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,95875,false,false,false,false,false,false,false,false,false,13,false,6723,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,60776,false,false,false,None,false,false,true,2377,false,false,false,false,false,false,false,2931,String,false,false,78,false,false,false,false,false,false,false,false,false,false,6734,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,1,0,0,0,0,1,1,false,0,false,false,false,true,false,false,false,false,false,false,false,false,false,95898,false,false,false,false,false,false,false,false,false,5,false,6724,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,60786,false,true,false,None,false,false,false,2377,false,false,false,false,false,false,false,2931,String,false,false,78,false,false,false,false,false,false,false,false,false,false,6736,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,95904,false,false,false,false,false,false,false,false,false,6,false,6725,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,60799,false,false,false,None,false,false,false,2377,false,false,false,false,false,false,false,2932,Others,false,false,78,false,false,false,false,false,false,false,false,false,false,6737,false,false,false,false,false,false,false,PUBLIC,0,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,1,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,95925,false,false,false,false,false,false,false,false,false,21,false,6739,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,60859,false,true,true,None,false,false,false,2380,false,false,false,false,false,false,false,2932,Others,false,false,78,false,false,false,false,false,false,false,false,false,false,6738,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,95944,false,false,false,false,false,false,false,false,false,6,false,6741,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,60871,false,false,true,None,false,false,false,2381,false,false,false,false,false,false,false,2932,Others,false,false,78,false,false,false,false,false,false,false,false,false,false,6740,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,true,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,95953,false,true,false,false,false,false,false,false,false,9,false,6743,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,60894,false,false,false,None,false,false,false,2382,false,false,false,false,false,false,false,2932,Others,false,false,78,false,false,false,false,false,false,false,false,false,false,6741,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,true,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,95956,false,false,false,false,false,false,false,false,false,3,false,6743,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,60900,false,true,false,None,true,false,false,2382,false,false,false,false,false,false,false,2932,String,false,false,78,false,false,false,false,false,false,false,false,false,false,6742,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,FINAL,false,false,false,false,false,9,false,false,1,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,96018,false,false,false,false,false,false,false,false,false,5,false,6745,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,60912,false,false,false,None,true,false,false,2384,false,false,false,false,false,false,false,2932,Others,false,false,78,false,false,false,false,false,false,false,false,false,false,6757,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,1,0,0,0,0,0,false,1,false,false,false,false,true,false,false,false,true,true,false,false,false,96219,false,false,false,false,false,false,false,false,true,8,false,6749,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,60935,false,false,false,None,false,false,false,2388,false,false,false,false,false,false,false,2932,Native,false,false,78,false,false,false,false,false,false,false,false,false,false,6775,false,false,false,false,false,false,false,PUBLIC,6,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,true,false,false,false,false,96251,false,false,false,false,false,false,false,false,true,5,false,6751,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,60947,false,false,false,None,false,false,false,2390,false,false,false,false,false,false,false,2932,Native,false,false,78,false,false,false,false,false,false,false,false,false,false,6780,false,false,false,false,false,false,false,PUBLIC,4,false,false,true,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,96256,false,true,false,false,false,false,false,false,false,5,false,6753,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,60957,false,false,false,None,false,false,false,2392,false,false,false,false,false,false,false,2932,Others,false,false,78,false,false,false,false,false,false,false,false,false,false,6781,false,false,false,false,false,false,true,PUBLIC,1,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,true,false,false,false,96399,false,false,false,false,false,false,false,false,false,143,false,6803,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,true,61365,true,false,false,None,false,false,false,2402,false,false,false,false,false,true,false,2956,Others,false,false,78,false,false,false,false,false,false,false,false,false,false,6782,true,true,false,false,false,false,false,PUBLIC,7,false,false,false,DEFAULT,false,2,false,true,Setter,false,true,false,DEFAULT,false,false,false,false,false,9,false,true,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,97068,false,false,false,false,false,false,false,false,true,4,false,6803,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PROTECTED,false,false,false,false,false,false,false,false,false,61372,false,false,false,None,false,false,false,2402,false,false,false,false,false,false,false,2956,Others,false,false,78,false,false,false,false,false,false,false,false,false,false,6816,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,1,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,97076,false,false,false,false,false,false,false,false,false,8,true,6805,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,true,false,false,61392,false,false,false,None,false,false,false,2402,false,false,false,false,false,false,false,2956,String,false,false,79,false,false,false,false,false,false,false,false,false,false,6817,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,FINAL,false,2,false,false,Setter,false,false,false,DEFAULT,false,true,false,false,false,9,false,false,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,true,false,false,false,false,false,false,true,false,false,false,false,97207,false,false,false,false,false,false,false,false,true,5,false,6806,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,PUBLIC,true,false,false,false,false,false,false,false,false,61402,false,false,false,None,false,false,false,2403,false,false,false,false,false,false,false,2956,Others,false,false,79,false,false,false,false,false,false,false,false,false,false,6847,false,true,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,1,false,false,Getter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,97331,false,false,false,false,false,false,false,false,false,20,false,6813,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,61452,false,false,false,None,false,false,false,2408,false,false,false,false,false,false,false,2961,Others,false,false,79,true,false,false,false,false,false,false,false,false,false,6850,false,false,false,false,false,false,true,PUBLIC,5,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,STATIC,false,false,false,false,false,9,false,true,1,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,97338,false,false,false,false,false,false,false,false,true,7,false,6813,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,61469,false,false,false,None,false,false,false,2408,false,false,false,false,false,false,false,2962,Others,false,false,79,false,false,false,false,false,false,false,false,false,false,6851,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,SYNCHRONIZED,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,true,false,false,false,true,97376,false,false,false,false,false,false,false,false,true,17,false,6821,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,PRIVATE,true,false,false,false,false,false,false,false,false,61514,false,false,true,None,false,false,false,2410,false,false,false,false,false,false,false,2963,String,false,false,79,false,false,false,false,false,false,false,false,false,false,6854,false,false,false,false,false,false,false,DEFAULT,4,false,false,false,DEFAULT,false,2,false,false,Setter,false,false,false,FINAL,true,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,true,false,false,true,false,false,false,false,97411,false,false,false,false,false,false,false,false,true,35,false,6839,true,false,false,false,false,true,false,false,false,false,false,false,false,false,false,DEFAULT,true,false,false,false,false,false,false,false,false,61614,false,false,false,None,false,false,false,2412,false,false,false,false,false,false,false,2965,Others,false,false,79,false,false,false,false,false,false,false,false,false,false,6855,false,false,false,false,false,false,false,PUBLIC,2,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,2,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,97415,false,true,false,true,false,false,false,false,false,4,false,6840,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,61623,false,false,false,None,false,false,true,2412,false,false,false,false,false,false,false,2965,Native,false,false,79,false,false,false,false,false,false,false,false,false,false,6856,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,0,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,0,false,false,false,false,false,false,false,false,false,false,false,false,false,97415,false,false,false,false,false,false,false,false,false,4,false,6840,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,61623,false,false,true,None,false,false,false,2412,false,false,false,false,false,false,false,2965,Others,false,false,79,false,false,false,false,false,false,false,false,false,false,6856,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,ABSTRACT,false,2,false,false,Setter,false,false,false,ABSTRACT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,1,0,0,1,0,0,0,false,2,false,false,false,false,false,false,false,false,false,false,false,false,false,97458,false,false,false,false,false,false,false,false,false,43,false,6863,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,true,61744,false,false,false,None,true,false,false,2416,false,false,false,false,false,false,false,2969,Others,false,false,79,false,false,false,false,false,true,false,false,false,false,6857,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,true,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,1,0,0,0,false,1,false,false,false,false,false,false,false,false,false,false,false,false,false,97565,false,false,false,false,false,false,false,false,false,4,false,6864,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PUBLIC,false,false,false,false,false,false,false,false,false,61754,false,false,false,None,false,false,false,2416,false,false,false,false,false,false,false,2969,Others,false,false,79,false,false,false,false,false,false,false,false,false,false,6869,false,false,false,false,false,false,false,PUBLIC,0,false,false,false,DEFAULT,false,1,false,false,Setter,false,false,false,DEFAULT,false,false,false,false,false,9,false,false,0,false,false,false +0,0,0,0,0,0,0,0,0,0,0,false,1,false,false,false,false,false,false,false,true,false,false,false,false,false,97574,false,false,false,false,false,false,false,false,false,9,false,6865,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,PRIVATE,false,false,false,false,false,false,false,false,false,61778,false,false,false,None,false,false,false,2417,true,false,false,false,false,false,false,2969,Native,false,false,80,false,false,false,false,false,false,false,false,false,false,6870,false,false,false,false,false,false,false,PUBLIC,1,false,false,true,DEFAULT,false,3,false,false,Setter,false,true,false,DEFAULT,false,false,false,false,false,9,false,true,1,false,false,false From 48d6edac624feabe65d9f49edbb87fb51851fce6 Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 19 Mar 2024 11:12:20 +0100 Subject: [PATCH 24/54] Rename Coverage Doclet module to coverage-doclet --- {doc-coverage-doclet => coverage-doclet}/pom.xml | 1 - .../java/de/fraunhofer/iem/coveragedoclet/CoverageDoclet.java | 0 .../java/de/fraunhofer/iem/coveragedoclet/CoverageReport.java | 0 .../src/main/java/de/fraunhofer/iem/coveragedoclet/Main.java | 0 4 files changed, 1 deletion(-) rename {doc-coverage-doclet => coverage-doclet}/pom.xml (95%) rename {doc-coverage-doclet => coverage-doclet}/src/main/java/de/fraunhofer/iem/coveragedoclet/CoverageDoclet.java (100%) rename {doc-coverage-doclet => coverage-doclet}/src/main/java/de/fraunhofer/iem/coveragedoclet/CoverageReport.java (100%) rename {doc-coverage-doclet => coverage-doclet}/src/main/java/de/fraunhofer/iem/coveragedoclet/Main.java (100%) diff --git a/doc-coverage-doclet/pom.xml b/coverage-doclet/pom.xml similarity index 95% rename from doc-coverage-doclet/pom.xml rename to coverage-doclet/pom.xml index 92907b2..3040c5a 100644 --- a/doc-coverage-doclet/pom.xml +++ b/coverage-doclet/pom.xml @@ -6,7 +6,6 @@ de.fraunhofer.iem coverage-doclet - 1.1 11 diff --git a/doc-coverage-doclet/src/main/java/de/fraunhofer/iem/coveragedoclet/CoverageDoclet.java b/coverage-doclet/src/main/java/de/fraunhofer/iem/coveragedoclet/CoverageDoclet.java similarity index 100% rename from doc-coverage-doclet/src/main/java/de/fraunhofer/iem/coveragedoclet/CoverageDoclet.java rename to coverage-doclet/src/main/java/de/fraunhofer/iem/coveragedoclet/CoverageDoclet.java diff --git a/doc-coverage-doclet/src/main/java/de/fraunhofer/iem/coveragedoclet/CoverageReport.java b/coverage-doclet/src/main/java/de/fraunhofer/iem/coveragedoclet/CoverageReport.java similarity index 100% rename from doc-coverage-doclet/src/main/java/de/fraunhofer/iem/coveragedoclet/CoverageReport.java rename to coverage-doclet/src/main/java/de/fraunhofer/iem/coveragedoclet/CoverageReport.java diff --git a/doc-coverage-doclet/src/main/java/de/fraunhofer/iem/coveragedoclet/Main.java b/coverage-doclet/src/main/java/de/fraunhofer/iem/coveragedoclet/Main.java similarity index 100% rename from doc-coverage-doclet/src/main/java/de/fraunhofer/iem/coveragedoclet/Main.java rename to coverage-doclet/src/main/java/de/fraunhofer/iem/coveragedoclet/Main.java From 03167b95479ca7c684dc982654778a633ea7985e Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 19 Mar 2024 11:13:34 +0100 Subject: [PATCH 25/54] Rename XML Doclet module to xml-doclet --- {doc-xml-exporter-doclet => xml-doclet}/pom.xml | 2 -- .../src/main/java/de/fraunhofer/iem/doclet/xml/XMLDoclet.java | 0 .../java/de/fraunhofer/iem/doclet/xml/serializer}/SSLDoclet.xsd | 0 .../de/fraunhofer/iem/doclet/xml/serializer/XMLSerializer.java | 0 4 files changed, 2 deletions(-) rename {doc-xml-exporter-doclet => xml-doclet}/pom.xml (94%) rename {doc-xml-exporter-doclet => xml-doclet}/src/main/java/de/fraunhofer/iem/doclet/xml/XMLDoclet.java (100%) rename {swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet => xml-doclet/src/main/java/de/fraunhofer/iem/doclet/xml/serializer}/SSLDoclet.xsd (100%) rename {doc-xml-exporter-doclet => xml-doclet}/src/main/java/de/fraunhofer/iem/doclet/xml/serializer/XMLSerializer.java (100%) diff --git a/doc-xml-exporter-doclet/pom.xml b/xml-doclet/pom.xml similarity index 94% rename from doc-xml-exporter-doclet/pom.xml rename to xml-doclet/pom.xml index 1ab258e..116f35a 100644 --- a/doc-xml-exporter-doclet/pom.xml +++ b/xml-doclet/pom.xml @@ -8,9 +8,7 @@ Javadoc NLP Corpus Generation Doclet https://www.semanticsoftware.info/javadoclet - de.fraunhofer.iem.doclet xml-doclet - 1.4 11 diff --git a/doc-xml-exporter-doclet/src/main/java/de/fraunhofer/iem/doclet/xml/XMLDoclet.java b/xml-doclet/src/main/java/de/fraunhofer/iem/doclet/xml/XMLDoclet.java similarity index 100% rename from doc-xml-exporter-doclet/src/main/java/de/fraunhofer/iem/doclet/xml/XMLDoclet.java rename to xml-doclet/src/main/java/de/fraunhofer/iem/doclet/xml/XMLDoclet.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/SSLDoclet.xsd b/xml-doclet/src/main/java/de/fraunhofer/iem/doclet/xml/serializer/SSLDoclet.xsd similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/SSLDoclet.xsd rename to xml-doclet/src/main/java/de/fraunhofer/iem/doclet/xml/serializer/SSLDoclet.xsd diff --git a/doc-xml-exporter-doclet/src/main/java/de/fraunhofer/iem/doclet/xml/serializer/XMLSerializer.java b/xml-doclet/src/main/java/de/fraunhofer/iem/doclet/xml/serializer/XMLSerializer.java similarity index 100% rename from doc-xml-exporter-doclet/src/main/java/de/fraunhofer/iem/doclet/xml/serializer/XMLSerializer.java rename to xml-doclet/src/main/java/de/fraunhofer/iem/doclet/xml/serializer/XMLSerializer.java From a9eaca8a7ee8573597df0d74285b306fb11bee1f Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 19 Mar 2024 16:28:37 +0100 Subject: [PATCH 26/54] Rename swan-pipeline directory to swan-cmd --- {swan-pipeline => swan-cmd}/LICENSE | 0 {swan-pipeline => swan-cmd}/README.md | 11 ++++------- .../src/main/java/de/fraunhofer/iem/swan/Main.java | 0 .../java/de/fraunhofer/iem/swan/SwanPipeline.java | 0 .../java/de/fraunhofer/iem/swan/cli/FileUtility.java | 0 .../main/java/de/fraunhofer/iem/swan/cli/SwanCli.java | 0 .../java/de/fraunhofer/iem/swan/cli/SwanOptions.java | 0 .../main/java/de/fraunhofer/iem/swan/data/CWE.java | 0 .../java/de/fraunhofer/iem/swan/data/Category.java | 0 .../java/de/fraunhofer/iem/swan/data/Constants.java | 0 .../java/de/fraunhofer/iem/swan/data/Javadoc.java | 0 .../main/java/de/fraunhofer/iem/swan/data/Method.java | 0 .../de/fraunhofer/iem/swan/data/RelevantPart.java | 0 .../java/de/fraunhofer/iem/swan/data/XMLParser.java | 0 .../de/fraunhofer/iem/swan/features/FeatureSet.java | 0 .../iem/swan/features/FeatureSetSelector.java | 0 .../de/fraunhofer/iem/swan/features/IFeatureSet.java | 0 .../fraunhofer/iem/swan/features/MekaFeatureSet.java | 0 .../fraunhofer/iem/swan/features/WekaFeatureSet.java | 0 .../code/CodeBinaryRelevanceFeatureHandler.java | 0 .../iem/swan/features/code/CodeFeatureHandler.java | 0 .../iem/swan/features/code/FeatureResult.java | 0 .../iem/swan/features/code/ICodeFeature.java | 0 .../de/fraunhofer/iem/swan/features/code/Pair.java | 0 .../features/code/bow/ClassNameContainsToken.java | 0 .../code/bow/InvokedClassNameContainsToken.java | 0 .../code/bow/InvokedMethodNameContainsToken.java | 0 .../features/code/bow/MethodNameContainsToken.java | 0 .../code/bow/ParameterToInvokedSinkFeature.java | 0 .../swan/features/code/bow/SecurityVocabulary.java | 0 .../swan/features/code/bow/SourceToReturnFeature.java | 0 .../features/code/cat/ClassAccessModifierFeature.java | 0 .../swan/features/code/cat/ClassModifierFeature.java | 0 .../features/code/cat/IsMethodImplicitFeature.java | 0 .../code/cat/MethodAccessModifierFeature.java | 0 .../code/cat/MethodInnerOrAnonymousClassFeature.java | 0 .../swan/features/code/cat/MethodModifierFeature.java | 0 .../iem/swan/features/code/cat/MethodTypeFeature.java | 0 .../swan/features/code/cat/ParametersTypeFeature.java | 0 .../iem/swan/features/code/cat/ReturnTypeFeature.java | 0 .../code/sa/ParameterAndReturnTypeMatchFeature.java | 0 .../code/sa/ParameterFlowsToReturnFeature.java | 0 .../code/stats/BranchingStatementCountFeature.java | 0 .../features/code/stats/ClassLineCountFeature.java | 0 .../code/stats/ClassNameTokenCountFeature.java | 0 .../code/stats/ClassesInvokedCountFeature.java | 0 .../stats/DefinedFunctionsInClassCountFeature.java | 0 .../features/code/stats/ExceptionsCountFeature.java | 0 .../code/stats/IterationStatementsCountFeature.java | 0 .../features/code/stats/MethodLinesCountFeature.java | 0 .../code/stats/MethodsInvokedCountFeature.java | 0 .../features/code/stats/ParametersCountFeature.java | 0 .../code/stats/TotalMethodsInvokedCountFeature.java | 0 .../code/stats/VariablesUsageCountFeature.java | 0 .../swan/features/code/type/AbstractSootFeature.java | 0 .../code/type/BaseNameOfClassPackageName.java | 0 .../iem/swan/features/code/type/IFeature.java | 0 .../iem/swan/features/code/type/IsImplicitMethod.java | 0 .../swan/features/code/type/IsThreadRunFeature.java | 0 .../code/type/MethodAnonymousClassFeature.java | 0 .../code/type/MethodBodyContainsObjectFeature.java | 0 .../features/code/type/MethodCallsMethodFeature.java | 0 .../code/type/MethodClassConcreteNameFeature.java | 0 .../code/type/MethodClassContainsNameFeature.java | 0 .../code/type/MethodClassEndsWithNameFeature.java | 0 .../code/type/MethodClassModifierFeature.java | 0 .../code/type/MethodHasParametersFeature.java | 0 .../code/type/MethodHasReturnTypeFeature.java | 0 .../features/code/type/MethodInnerClassFeature.java | 0 .../features/code/type/MethodInvocationClassName.java | 0 .../swan/features/code/type/MethodInvocationName.java | 0 .../code/type/MethodInvocationOnParameterFeature.java | 0 .../swan/features/code/type/MethodIsConstructor.java | 0 .../code/type/MethodIsGetterNoSetterFeature.java | 0 .../features/code/type/MethodIsRealSetterFeature.java | 0 .../features/code/type/MethodModifierFeature.java | 0 .../features/code/type/MethodNameContainsFeature.java | 0 .../features/code/type/MethodNameEndsWithFeature.java | 0 .../features/code/type/MethodNameEqualsFeature.java | 0 .../code/type/MethodNameStartsWithFeature.java | 0 .../code/type/MethodReturnsConstantFeature.java | 0 .../features/code/type/PackageNameOfClassFeature.java | 0 .../code/type/ParamTypeMatchesReturnType.java | 0 .../code/type/ParameterContainsTypeOrNameFeature.java | 0 .../features/code/type/ParameterFlowsToReturn.java | 0 .../features/code/type/ParameterInCallFeature.java | 0 .../code/type/ParameterIsInterfaceFeature.java | 0 .../features/code/type/ParameterToSinkFeature.java | 0 .../features/code/type/PermissionNameFeature.java | 0 .../code/type/ReturnTypeContainsNameFeature.java | 0 .../swan/features/code/type/ReturnTypeFeature.java | 0 .../features/code/type/SourceToReturnFeature.java | 0 .../swan/features/code/type/VoidOnMethodFeature.java | 0 .../iem/swan/features/code/type/WeightedFeature.java | 0 .../iem/swan/features/doc/DocFeatureHandler.java | 0 .../doc/embedding/AutomaticFeatureHandler.java | 0 .../swan/features/doc/embedding/DocCommentVector.java | 0 .../iem/swan/features/doc/manual/FeatureResult.java | 0 .../iem/swan/features/doc/manual/IDocFeature.java | 0 .../features/doc/manual/ManualFeaturesHandler.java | 0 .../swan/features/doc/manual/SecurityVocabulary.java | 0 .../doc/manual/annotated/AdjectiveCountFeature.java | 0 .../doc/manual/annotated/AdverbCountFeature.java | 0 .../annotated/AuthNoChangeWordCountFeature.java | 0 .../manual/annotated/AuthSafeWordCountFeature.java | 0 .../manual/annotated/AuthUnsafeWordCountFeature.java | 0 .../annotated/AuthenticationDataFlowFeature.java | 0 .../annotated/CommandInjectionCountFeature.java | 0 .../doc/manual/annotated/ConjunctionCountFeature.java | 0 .../annotated/CrossSiteScriptingCountFeature.java | 0 .../doc/manual/annotated/DataFlowFeature.java | 0 .../annotated/IncorrectAuthorizationCountFeature.java | 0 .../doc/manual/annotated/LemmaCountFeature.java | 0 .../doc/manual/annotated/MissingAuthCountFeature.java | 0 .../annotated/MissingAuthorizationCountFeature.java | 0 .../doc/manual/annotated/NounCountFeature.java | 0 .../manual/annotated/OpenRedirectCountFeature.java | 0 .../doc/manual/annotated/POSCountFeature.java | 0 .../doc/manual/annotated/PrepositionCountFeature.java | 0 .../doc/manual/annotated/PronounCountFeature.java | 0 .../doc/manual/annotated/PunctuationCountFeature.java | 0 .../manual/annotated/SanitizerDataFlowFeature.java | 0 .../manual/annotated/SanitizerWordCountFeature.java | 0 .../doc/manual/annotated/SinkDataFlowFeature.java | 0 .../doc/manual/annotated/SinkWordCountFeature.java | 0 .../doc/manual/annotated/SourceDataFlowFeature.java | 0 .../doc/manual/annotated/SourceWordCountFeature.java | 0 .../manual/annotated/SqlInjectionCountFeature.java | 0 .../doc/manual/annotated/StopWordCountFeature.java | 0 .../doc/manual/annotated/VerbCountFeature.java | 0 .../doc/manual/annotated/WordCountFeature.java | 0 .../preprocessed/AverageSentenceLengthFeature.java | 0 .../preprocessed/AverageTokenLengthFeature.java | 0 .../manual/preprocessed/CharacterCountFeature.java | 0 .../doc/manual/preprocessed/CodeTagCountFeature.java | 0 .../features/doc/manual/preprocessed/Constants.java | 0 .../preprocessed/DeprecatedTagCountFeature.java | 0 .../manual/preprocessed/IncompleteCodeFeature.java | 0 .../doc/manual/preprocessed/LinkTagCountFeature.java | 0 .../doc/manual/preprocessed/NumberCountFeature.java | 0 .../doc/manual/preprocessed/SeeTagCountFeature.java | 0 .../doc/manual/preprocessed/SentenceCountFeature.java | 0 .../doc/manual/preprocessed/TagCountFeature.java | 0 .../doc/manual/preprocessed/TokenCountFeature.java | 0 .../preprocessed/UppercaseWordsCountFeature.java | 0 .../iem/swan/features/doc/nlp/AnnotatedMethod.java | 0 .../iem/swan/features/doc/nlp/CoreNLPExecutor.java | 0 .../iem/swan/features/doc/nlp/NLPUtils.java | 0 .../de/fraunhofer/iem/swan/io/DependencyManager.java | 0 .../de/fraunhofer/iem/swan/io/dataset/Dataset.java | 0 .../iem/swan/io/dataset/DatasetProcessor.java | 0 .../de/fraunhofer/iem/swan/io/dataset/SrmList.java | 0 .../fraunhofer/iem/swan/io/dataset/SrmListUtils.java | 0 .../de/fraunhofer/iem/swan/io/doc/DocletExecutor.java | 0 .../java/de/fraunhofer/iem/swan/io/doc/Javadoc.java | 0 .../fraunhofer/iem/swan/io/doc/JavadocProcessor.java | 0 .../iem/swan/io/doc/SourceJarEvaluator.java | 0 .../fraunhofer/iem/swan/io/doc/XmlDocletParser.java | 0 .../iem/swan/io/doc/ssldoclet/ClassBlockType.java | 0 .../swan/io/doc/ssldoclet/ClassCommentBlockType.java | 0 .../iem/swan/io/doc/ssldoclet/ClassCommentType.java | 0 .../iem/swan/io/doc/ssldoclet/ClassType.java | 0 .../swan/io/doc/ssldoclet/ConstructorBlockType.java | 0 .../io/doc/ssldoclet/ConstructorCommentBlockType.java | 0 .../swan/io/doc/ssldoclet/ConstructorCommentType.java | 0 .../iem/swan/io/doc/ssldoclet/ConstructorType.java | 0 .../iem/swan/io/doc/ssldoclet/ConstructorsType.java | 0 .../iem/swan/io/doc/ssldoclet/ExtendsBlockType.java | 0 .../iem/swan/io/doc/ssldoclet/ExtendsType.java | 0 .../iem/swan/io/doc/ssldoclet/InterfaceBlockType.java | 0 .../iem/swan/io/doc/ssldoclet/InterfaceType.java | 0 .../iem/swan/io/doc/ssldoclet/MethodBlockType.java | 0 .../swan/io/doc/ssldoclet/MethodCommentBlockType.java | 0 .../iem/swan/io/doc/ssldoclet/MethodCommentType.java | 0 .../iem/swan/io/doc/ssldoclet/MethodType.java | 0 .../iem/swan/io/doc/ssldoclet/MethodsType.java | 0 .../iem/swan/io/doc/ssldoclet/ObjectFactory.java | 0 .../iem/swan/io/doc/ssldoclet/PackageBlockType.java | 0 .../iem/swan/io/doc/ssldoclet/ReturnBlockType.java | 0 .../iem/swan/io/doc/ssldoclet}/SSLDoclet.xsd | 0 .../iem/swan/io/doc/ssldoclet/SsldocletType.java | 0 .../fraunhofer/iem/swan/model/CutoffClassifier.java | 0 .../iem/swan/model/MonteCarloValidator.java | 0 .../de/fraunhofer/iem/swan/model/toolkit/ML2Plan.java | 0 .../de/fraunhofer/iem/swan/model/toolkit/Weka.java | 0 .../main/java/de/fraunhofer/iem/swan/soot/Soot.java | 0 .../java/de/fraunhofer/iem/swan/soot/SootUtils.java | 0 .../main/java/de/fraunhofer/iem/swan/util/Util.java | 0 .../resources/dataset/meka/code-br/meka-code-br.arff | 0 .../main/resources/dataset/meka/code/meka-code.arff | 0 .../dataset/meka/doc-auto/meka-doc-auto.arff | 0 .../dataset/meka/doc-manual/meka-doc-manual.arff | 0 .../src/main/resources/dataset/srm-dataset.json | 0 .../dataset/weka/code-br/authentication.arff | 0 .../main/resources/dataset/weka/code-br/cwe078.arff | 0 .../main/resources/dataset/weka/code-br/cwe079.arff | 0 .../main/resources/dataset/weka/code-br/cwe089.arff | 0 .../main/resources/dataset/weka/code-br/cwe306.arff | 0 .../main/resources/dataset/weka/code-br/cwe601.arff | 0 .../main/resources/dataset/weka/code-br/cwe862.arff | 0 .../main/resources/dataset/weka/code-br/cwe863.arff | 0 .../resources/dataset/weka/code-br/sanitizer.arff | 0 .../src/main/resources/dataset/weka/code-br/sink.arff | 0 .../main/resources/dataset/weka/code-br/source.arff | 0 .../dataset/weka/doc-auto/authentication.arff | 0 .../main/resources/dataset/weka/doc-auto/cwe078.arff | 0 .../main/resources/dataset/weka/doc-auto/cwe079.arff | 0 .../main/resources/dataset/weka/doc-auto/cwe089.arff | 0 .../main/resources/dataset/weka/doc-auto/cwe306.arff | 0 .../main/resources/dataset/weka/doc-auto/cwe601.arff | 0 .../main/resources/dataset/weka/doc-auto/cwe862.arff | 0 .../main/resources/dataset/weka/doc-auto/cwe863.arff | 0 .../resources/dataset/weka/doc-auto/sanitizer.arff | 0 .../main/resources/dataset/weka/doc-auto/sink.arff | 0 .../main/resources/dataset/weka/doc-auto/source.arff | 0 .../dataset/weka/doc-manual/authentication.arff | 0 .../resources/dataset/weka/doc-manual/cwe078.arff | 0 .../resources/dataset/weka/doc-manual/cwe079.arff | 0 .../resources/dataset/weka/doc-manual/cwe089.arff | 0 .../resources/dataset/weka/doc-manual/cwe306.arff | 0 .../resources/dataset/weka/doc-manual/cwe601.arff | 0 .../resources/dataset/weka/doc-manual/cwe862.arff | 0 .../resources/dataset/weka/doc-manual/cwe863.arff | 0 .../resources/dataset/weka/doc-manual/sanitizer.arff | 0 .../main/resources/dataset/weka/doc-manual/sink.arff | 0 .../resources/dataset/weka/doc-manual/source.arff | 0 .../src/main/resources/dl4j-methods-first.txt | 0 .../src/main/resources/log4j.properties | 0 .../src/main/resources/stopwords-list.txt | 0 .../src/test/java/parser/ExportTrainingFileTest.java | 0 .../src/test/java/parser/ParseTrainingFileTest.java | 0 231 files changed, 4 insertions(+), 7 deletions(-) rename {swan-pipeline => swan-cmd}/LICENSE (100%) rename {swan-pipeline => swan-cmd}/README.md (54%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/Main.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/SwanPipeline.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/cli/FileUtility.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/cli/SwanOptions.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/data/CWE.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/data/Category.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/data/Constants.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/data/Javadoc.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/data/Method.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/data/RelevantPart.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/data/XMLParser.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/FeatureSet.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/FeatureSetSelector.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/IFeatureSet.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/MekaFeatureSet.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/WekaFeatureSet.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/CodeBinaryRelevanceFeatureHandler.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/CodeFeatureHandler.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/FeatureResult.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/ICodeFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/Pair.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/bow/ClassNameContainsToken.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/bow/InvokedClassNameContainsToken.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/bow/InvokedMethodNameContainsToken.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/bow/MethodNameContainsToken.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/bow/ParameterToInvokedSinkFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/bow/SecurityVocabulary.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/bow/SourceToReturnFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/cat/ClassAccessModifierFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/cat/ClassModifierFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/cat/IsMethodImplicitFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodAccessModifierFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodInnerOrAnonymousClassFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodModifierFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodTypeFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/cat/ParametersTypeFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/cat/ReturnTypeFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/sa/ParameterAndReturnTypeMatchFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/sa/ParameterFlowsToReturnFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/stats/BranchingStatementCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ClassLineCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ClassNameTokenCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ClassesInvokedCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/stats/DefinedFunctionsInClassCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ExceptionsCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/stats/IterationStatementsCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/stats/MethodLinesCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/stats/MethodsInvokedCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ParametersCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/stats/TotalMethodsInvokedCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/stats/VariablesUsageCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/AbstractSootFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/BaseNameOfClassPackageName.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/IFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/IsImplicitMethod.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/IsThreadRunFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodAnonymousClassFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodBodyContainsObjectFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodCallsMethodFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodClassConcreteNameFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodClassContainsNameFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodClassEndsWithNameFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodClassModifierFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodHasParametersFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodHasReturnTypeFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodInnerClassFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodInvocationClassName.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodInvocationName.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodInvocationOnParameterFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodIsConstructor.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodIsGetterNoSetterFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodIsRealSetterFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodModifierFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodNameContainsFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodNameEndsWithFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodNameEqualsFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodNameStartsWithFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodReturnsConstantFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/PackageNameOfClassFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParamTypeMatchesReturnType.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParameterContainsTypeOrNameFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParameterFlowsToReturn.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParameterInCallFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParameterIsInterfaceFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParameterToSinkFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/PermissionNameFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/ReturnTypeContainsNameFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/ReturnTypeFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/SourceToReturnFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/VoidOnMethodFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/code/type/WeightedFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/DocFeatureHandler.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/embedding/AutomaticFeatureHandler.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/embedding/DocCommentVector.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/FeatureResult.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/IDocFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/ManualFeaturesHandler.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/SecurityVocabulary.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AdjectiveCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AdverbCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AuthNoChangeWordCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AuthSafeWordCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AuthUnsafeWordCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AuthenticationDataFlowFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/CommandInjectionCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/ConjunctionCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/CrossSiteScriptingCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/DataFlowFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/IncorrectAuthorizationCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/LemmaCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/MissingAuthCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/MissingAuthorizationCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/NounCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/OpenRedirectCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/POSCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/PrepositionCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/PronounCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/PunctuationCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SanitizerDataFlowFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SanitizerWordCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SinkDataFlowFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SinkWordCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SourceDataFlowFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SourceWordCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SqlInjectionCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/StopWordCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/VerbCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/WordCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/AverageSentenceLengthFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/AverageTokenLengthFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/CharacterCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/CodeTagCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/Constants.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/DeprecatedTagCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/IncompleteCodeFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/LinkTagCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/NumberCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/SeeTagCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/SentenceCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/TagCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/TokenCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/UppercaseWordsCountFeature.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/nlp/AnnotatedMethod.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/nlp/CoreNLPExecutor.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/features/doc/nlp/NLPUtils.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/DependencyManager.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/dataset/Dataset.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/dataset/DatasetProcessor.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/dataset/SrmList.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/dataset/SrmListUtils.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/doc/DocletExecutor.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/doc/Javadoc.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/doc/JavadocProcessor.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/doc/SourceJarEvaluator.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/doc/XmlDocletParser.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ClassBlockType.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ClassCommentBlockType.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ClassCommentType.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ClassType.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ConstructorBlockType.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ConstructorCommentBlockType.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ConstructorCommentType.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ConstructorType.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ConstructorsType.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ExtendsBlockType.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ExtendsType.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/InterfaceBlockType.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/InterfaceType.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/MethodBlockType.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/MethodCommentBlockType.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/MethodCommentType.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/MethodType.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/MethodsType.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ObjectFactory.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/PackageBlockType.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ReturnBlockType.java (100%) rename {doc-xml-exporter-doclet/src/main/java/de/fraunhofer/iem/doclet/xml/serializer => swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet}/SSLDoclet.xsd (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/SsldocletType.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/model/CutoffClassifier.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/model/MonteCarloValidator.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/model/toolkit/ML2Plan.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/model/toolkit/Weka.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/soot/Soot.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/soot/SootUtils.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/util/Util.java (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/meka/code-br/meka-code-br.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/meka/code/meka-code.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/meka/doc-auto/meka-doc-auto.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/meka/doc-manual/meka-doc-manual.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/srm-dataset.json (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/code-br/authentication.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/code-br/cwe078.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/code-br/cwe079.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/code-br/cwe089.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/code-br/cwe306.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/code-br/cwe601.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/code-br/cwe862.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/code-br/cwe863.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/code-br/sanitizer.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/code-br/sink.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/code-br/source.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/doc-auto/authentication.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/doc-auto/cwe078.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/doc-auto/cwe079.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/doc-auto/cwe089.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/doc-auto/cwe306.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/doc-auto/cwe601.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/doc-auto/cwe862.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/doc-auto/cwe863.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/doc-auto/sanitizer.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/doc-auto/sink.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/doc-auto/source.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/doc-manual/authentication.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/doc-manual/cwe078.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/doc-manual/cwe079.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/doc-manual/cwe089.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/doc-manual/cwe306.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/doc-manual/cwe601.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/doc-manual/cwe862.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/doc-manual/cwe863.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/doc-manual/sanitizer.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/doc-manual/sink.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dataset/weka/doc-manual/source.arff (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/dl4j-methods-first.txt (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/log4j.properties (100%) rename {swan-pipeline => swan-cmd}/src/main/resources/stopwords-list.txt (100%) rename {swan-pipeline => swan-cmd}/src/test/java/parser/ExportTrainingFileTest.java (100%) rename {swan-pipeline => swan-cmd}/src/test/java/parser/ParseTrainingFileTest.java (100%) diff --git a/swan-pipeline/LICENSE b/swan-cmd/LICENSE similarity index 100% rename from swan-pipeline/LICENSE rename to swan-cmd/LICENSE diff --git a/swan-pipeline/README.md b/swan-cmd/README.md similarity index 54% rename from swan-pipeline/README.md rename to swan-cmd/README.md index 2e25198..f7938da 100644 --- a/swan-pipeline/README.md +++ b/swan-cmd/README.md @@ -1,12 +1,9 @@ -# swan -Security methods for WeAkNess detection (SWAN). +# swan-cmd -Description ------------- -SWAN is a machine-learning approach for detection of methods of interest for security in Java libraries. -SWAN should be used in combination with other static analyses tools. It helps the users to create a set of relevant methods required as an input for static analyses, e.g. taint- and type-state analysis. +swan-cmd is the command line interface for the SWAN, a machine-learning approach for detection of methods of interest for security in Java libraries. +swan-cmd should be used in combination with other static analyses tools. It helps the users to create a set of relevant methods required as an input for static analyses, e.g. taint- and type-state analysis. SWAN detects four types of methods: source, sink, sanitizer, and authentication method. -The found methods are further categorized according to relevant vulnerabilities (Common Weakness Enumeration - CWE). Currently, SWAN supports the following CWEs: CWE078, CWE079, CWE089, CWE306, CWE601, CWE862, and CWE863. +The found methods are further categorized according to relevant vulnerabilities (Common Weakness Enumeration - CWE). Currently, SWAN supports the following CWEs: CWE78, CWE79, CWE89, CWE306, CWE601, CWE862, and CWE863. Main contributors: * Goran Piskachev (goran.piskachev@iem.fraunhofer.de) diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/Main.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/Main.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/Main.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/Main.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/SwanPipeline.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/SwanPipeline.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/SwanPipeline.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/SwanPipeline.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/cli/FileUtility.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/FileUtility.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/cli/FileUtility.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/FileUtility.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/cli/SwanOptions.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/SwanOptions.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/cli/SwanOptions.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/SwanOptions.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/data/CWE.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/data/CWE.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/data/CWE.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/data/CWE.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/data/Category.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/data/Category.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/data/Category.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/data/Category.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/data/Constants.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/data/Constants.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/data/Constants.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/data/Constants.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/data/Javadoc.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/data/Javadoc.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/data/Javadoc.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/data/Javadoc.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/data/Method.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/data/Method.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/data/Method.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/data/Method.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/data/RelevantPart.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/data/RelevantPart.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/data/RelevantPart.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/data/RelevantPart.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/data/XMLParser.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/data/XMLParser.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/data/XMLParser.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/data/XMLParser.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/FeatureSet.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/FeatureSet.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/FeatureSet.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/FeatureSet.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/FeatureSetSelector.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/FeatureSetSelector.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/FeatureSetSelector.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/FeatureSetSelector.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/IFeatureSet.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/IFeatureSet.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/IFeatureSet.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/IFeatureSet.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/MekaFeatureSet.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/MekaFeatureSet.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/MekaFeatureSet.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/MekaFeatureSet.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/WekaFeatureSet.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/WekaFeatureSet.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/WekaFeatureSet.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/WekaFeatureSet.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/CodeBinaryRelevanceFeatureHandler.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/CodeBinaryRelevanceFeatureHandler.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/CodeBinaryRelevanceFeatureHandler.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/CodeBinaryRelevanceFeatureHandler.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/CodeFeatureHandler.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/CodeFeatureHandler.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/CodeFeatureHandler.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/CodeFeatureHandler.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/FeatureResult.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/FeatureResult.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/FeatureResult.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/FeatureResult.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/ICodeFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/ICodeFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/ICodeFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/ICodeFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/Pair.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/Pair.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/Pair.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/Pair.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/bow/ClassNameContainsToken.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/bow/ClassNameContainsToken.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/bow/ClassNameContainsToken.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/bow/ClassNameContainsToken.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/bow/InvokedClassNameContainsToken.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/bow/InvokedClassNameContainsToken.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/bow/InvokedClassNameContainsToken.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/bow/InvokedClassNameContainsToken.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/bow/InvokedMethodNameContainsToken.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/bow/InvokedMethodNameContainsToken.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/bow/InvokedMethodNameContainsToken.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/bow/InvokedMethodNameContainsToken.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/bow/MethodNameContainsToken.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/bow/MethodNameContainsToken.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/bow/MethodNameContainsToken.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/bow/MethodNameContainsToken.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/bow/ParameterToInvokedSinkFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/bow/ParameterToInvokedSinkFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/bow/ParameterToInvokedSinkFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/bow/ParameterToInvokedSinkFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/bow/SecurityVocabulary.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/bow/SecurityVocabulary.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/bow/SecurityVocabulary.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/bow/SecurityVocabulary.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/bow/SourceToReturnFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/bow/SourceToReturnFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/bow/SourceToReturnFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/bow/SourceToReturnFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/ClassAccessModifierFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/cat/ClassAccessModifierFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/ClassAccessModifierFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/cat/ClassAccessModifierFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/ClassModifierFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/cat/ClassModifierFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/ClassModifierFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/cat/ClassModifierFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/IsMethodImplicitFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/cat/IsMethodImplicitFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/IsMethodImplicitFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/cat/IsMethodImplicitFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodAccessModifierFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodAccessModifierFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodAccessModifierFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodAccessModifierFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodInnerOrAnonymousClassFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodInnerOrAnonymousClassFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodInnerOrAnonymousClassFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodInnerOrAnonymousClassFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodModifierFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodModifierFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodModifierFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodModifierFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodTypeFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodTypeFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodTypeFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/cat/MethodTypeFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/ParametersTypeFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/cat/ParametersTypeFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/ParametersTypeFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/cat/ParametersTypeFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/ReturnTypeFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/cat/ReturnTypeFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/cat/ReturnTypeFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/cat/ReturnTypeFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/sa/ParameterAndReturnTypeMatchFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/sa/ParameterAndReturnTypeMatchFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/sa/ParameterAndReturnTypeMatchFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/sa/ParameterAndReturnTypeMatchFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/sa/ParameterFlowsToReturnFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/sa/ParameterFlowsToReturnFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/sa/ParameterFlowsToReturnFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/sa/ParameterFlowsToReturnFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/BranchingStatementCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/stats/BranchingStatementCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/BranchingStatementCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/stats/BranchingStatementCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ClassLineCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ClassLineCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ClassLineCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ClassLineCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ClassNameTokenCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ClassNameTokenCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ClassNameTokenCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ClassNameTokenCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ClassesInvokedCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ClassesInvokedCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ClassesInvokedCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ClassesInvokedCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/DefinedFunctionsInClassCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/stats/DefinedFunctionsInClassCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/DefinedFunctionsInClassCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/stats/DefinedFunctionsInClassCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ExceptionsCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ExceptionsCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ExceptionsCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ExceptionsCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/IterationStatementsCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/stats/IterationStatementsCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/IterationStatementsCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/stats/IterationStatementsCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/MethodLinesCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/stats/MethodLinesCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/MethodLinesCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/stats/MethodLinesCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/MethodsInvokedCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/stats/MethodsInvokedCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/MethodsInvokedCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/stats/MethodsInvokedCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ParametersCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ParametersCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ParametersCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/stats/ParametersCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/TotalMethodsInvokedCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/stats/TotalMethodsInvokedCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/TotalMethodsInvokedCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/stats/TotalMethodsInvokedCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/VariablesUsageCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/stats/VariablesUsageCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/stats/VariablesUsageCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/stats/VariablesUsageCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/AbstractSootFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/AbstractSootFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/AbstractSootFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/AbstractSootFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/BaseNameOfClassPackageName.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/BaseNameOfClassPackageName.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/BaseNameOfClassPackageName.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/BaseNameOfClassPackageName.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/IFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/IFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/IFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/IFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/IsImplicitMethod.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/IsImplicitMethod.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/IsImplicitMethod.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/IsImplicitMethod.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/IsThreadRunFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/IsThreadRunFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/IsThreadRunFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/IsThreadRunFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodAnonymousClassFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodAnonymousClassFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodAnonymousClassFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodAnonymousClassFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodBodyContainsObjectFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodBodyContainsObjectFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodBodyContainsObjectFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodBodyContainsObjectFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodCallsMethodFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodCallsMethodFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodCallsMethodFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodCallsMethodFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodClassConcreteNameFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodClassConcreteNameFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodClassConcreteNameFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodClassConcreteNameFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodClassContainsNameFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodClassContainsNameFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodClassContainsNameFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodClassContainsNameFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodClassEndsWithNameFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodClassEndsWithNameFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodClassEndsWithNameFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodClassEndsWithNameFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodClassModifierFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodClassModifierFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodClassModifierFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodClassModifierFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodHasParametersFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodHasParametersFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodHasParametersFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodHasParametersFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodHasReturnTypeFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodHasReturnTypeFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodHasReturnTypeFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodHasReturnTypeFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodInnerClassFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodInnerClassFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodInnerClassFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodInnerClassFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodInvocationClassName.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodInvocationClassName.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodInvocationClassName.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodInvocationClassName.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodInvocationName.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodInvocationName.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodInvocationName.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodInvocationName.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodInvocationOnParameterFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodInvocationOnParameterFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodInvocationOnParameterFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodInvocationOnParameterFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodIsConstructor.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodIsConstructor.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodIsConstructor.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodIsConstructor.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodIsGetterNoSetterFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodIsGetterNoSetterFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodIsGetterNoSetterFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodIsGetterNoSetterFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodIsRealSetterFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodIsRealSetterFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodIsRealSetterFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodIsRealSetterFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodModifierFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodModifierFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodModifierFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodModifierFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodNameContainsFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodNameContainsFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodNameContainsFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodNameContainsFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodNameEndsWithFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodNameEndsWithFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodNameEndsWithFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodNameEndsWithFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodNameEqualsFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodNameEqualsFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodNameEqualsFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodNameEqualsFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodNameStartsWithFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodNameStartsWithFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodNameStartsWithFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodNameStartsWithFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodReturnsConstantFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodReturnsConstantFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodReturnsConstantFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/MethodReturnsConstantFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/PackageNameOfClassFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/PackageNameOfClassFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/PackageNameOfClassFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/PackageNameOfClassFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParamTypeMatchesReturnType.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParamTypeMatchesReturnType.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParamTypeMatchesReturnType.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParamTypeMatchesReturnType.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParameterContainsTypeOrNameFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParameterContainsTypeOrNameFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParameterContainsTypeOrNameFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParameterContainsTypeOrNameFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParameterFlowsToReturn.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParameterFlowsToReturn.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParameterFlowsToReturn.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParameterFlowsToReturn.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParameterInCallFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParameterInCallFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParameterInCallFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParameterInCallFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParameterIsInterfaceFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParameterIsInterfaceFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParameterIsInterfaceFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParameterIsInterfaceFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParameterToSinkFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParameterToSinkFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParameterToSinkFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/ParameterToSinkFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/PermissionNameFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/PermissionNameFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/PermissionNameFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/PermissionNameFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/ReturnTypeContainsNameFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/ReturnTypeContainsNameFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/ReturnTypeContainsNameFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/ReturnTypeContainsNameFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/ReturnTypeFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/ReturnTypeFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/ReturnTypeFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/ReturnTypeFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/SourceToReturnFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/SourceToReturnFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/SourceToReturnFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/SourceToReturnFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/VoidOnMethodFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/VoidOnMethodFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/VoidOnMethodFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/VoidOnMethodFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/WeightedFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/WeightedFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/code/type/WeightedFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/code/type/WeightedFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/DocFeatureHandler.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/DocFeatureHandler.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/DocFeatureHandler.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/DocFeatureHandler.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/embedding/AutomaticFeatureHandler.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/embedding/AutomaticFeatureHandler.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/embedding/AutomaticFeatureHandler.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/embedding/AutomaticFeatureHandler.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/embedding/DocCommentVector.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/embedding/DocCommentVector.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/embedding/DocCommentVector.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/embedding/DocCommentVector.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/FeatureResult.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/FeatureResult.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/FeatureResult.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/FeatureResult.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/IDocFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/IDocFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/IDocFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/IDocFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/ManualFeaturesHandler.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/ManualFeaturesHandler.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/ManualFeaturesHandler.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/ManualFeaturesHandler.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/SecurityVocabulary.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/SecurityVocabulary.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/SecurityVocabulary.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/SecurityVocabulary.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AdjectiveCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AdjectiveCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AdjectiveCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AdjectiveCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AdverbCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AdverbCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AdverbCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AdverbCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AuthNoChangeWordCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AuthNoChangeWordCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AuthNoChangeWordCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AuthNoChangeWordCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AuthSafeWordCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AuthSafeWordCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AuthSafeWordCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AuthSafeWordCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AuthUnsafeWordCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AuthUnsafeWordCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AuthUnsafeWordCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AuthUnsafeWordCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AuthenticationDataFlowFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AuthenticationDataFlowFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AuthenticationDataFlowFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/AuthenticationDataFlowFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/CommandInjectionCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/CommandInjectionCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/CommandInjectionCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/CommandInjectionCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/ConjunctionCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/ConjunctionCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/ConjunctionCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/ConjunctionCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/CrossSiteScriptingCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/CrossSiteScriptingCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/CrossSiteScriptingCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/CrossSiteScriptingCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/DataFlowFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/DataFlowFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/DataFlowFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/DataFlowFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/IncorrectAuthorizationCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/IncorrectAuthorizationCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/IncorrectAuthorizationCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/IncorrectAuthorizationCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/LemmaCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/LemmaCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/LemmaCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/LemmaCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/MissingAuthCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/MissingAuthCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/MissingAuthCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/MissingAuthCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/MissingAuthorizationCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/MissingAuthorizationCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/MissingAuthorizationCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/MissingAuthorizationCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/NounCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/NounCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/NounCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/NounCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/OpenRedirectCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/OpenRedirectCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/OpenRedirectCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/OpenRedirectCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/POSCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/POSCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/POSCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/POSCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/PrepositionCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/PrepositionCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/PrepositionCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/PrepositionCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/PronounCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/PronounCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/PronounCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/PronounCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/PunctuationCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/PunctuationCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/PunctuationCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/PunctuationCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SanitizerDataFlowFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SanitizerDataFlowFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SanitizerDataFlowFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SanitizerDataFlowFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SanitizerWordCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SanitizerWordCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SanitizerWordCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SanitizerWordCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SinkDataFlowFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SinkDataFlowFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SinkDataFlowFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SinkDataFlowFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SinkWordCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SinkWordCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SinkWordCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SinkWordCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SourceDataFlowFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SourceDataFlowFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SourceDataFlowFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SourceDataFlowFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SourceWordCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SourceWordCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SourceWordCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SourceWordCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SqlInjectionCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SqlInjectionCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SqlInjectionCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/SqlInjectionCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/StopWordCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/StopWordCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/StopWordCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/StopWordCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/VerbCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/VerbCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/VerbCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/VerbCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/WordCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/WordCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/WordCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/annotated/WordCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/AverageSentenceLengthFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/AverageSentenceLengthFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/AverageSentenceLengthFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/AverageSentenceLengthFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/AverageTokenLengthFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/AverageTokenLengthFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/AverageTokenLengthFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/AverageTokenLengthFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/CharacterCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/CharacterCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/CharacterCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/CharacterCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/CodeTagCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/CodeTagCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/CodeTagCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/CodeTagCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/Constants.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/Constants.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/Constants.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/Constants.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/DeprecatedTagCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/DeprecatedTagCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/DeprecatedTagCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/DeprecatedTagCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/IncompleteCodeFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/IncompleteCodeFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/IncompleteCodeFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/IncompleteCodeFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/LinkTagCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/LinkTagCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/LinkTagCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/LinkTagCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/NumberCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/NumberCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/NumberCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/NumberCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/SeeTagCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/SeeTagCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/SeeTagCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/SeeTagCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/SentenceCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/SentenceCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/SentenceCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/SentenceCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/TagCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/TagCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/TagCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/TagCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/TokenCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/TokenCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/TokenCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/TokenCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/UppercaseWordsCountFeature.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/UppercaseWordsCountFeature.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/UppercaseWordsCountFeature.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/manual/preprocessed/UppercaseWordsCountFeature.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/nlp/AnnotatedMethod.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/nlp/AnnotatedMethod.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/nlp/AnnotatedMethod.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/nlp/AnnotatedMethod.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/nlp/CoreNLPExecutor.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/nlp/CoreNLPExecutor.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/nlp/CoreNLPExecutor.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/nlp/CoreNLPExecutor.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/nlp/NLPUtils.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/nlp/NLPUtils.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/doc/nlp/NLPUtils.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/doc/nlp/NLPUtils.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/DependencyManager.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/DependencyManager.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/DependencyManager.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/DependencyManager.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/dataset/Dataset.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/dataset/Dataset.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/dataset/Dataset.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/dataset/Dataset.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/dataset/DatasetProcessor.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/dataset/DatasetProcessor.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/dataset/DatasetProcessor.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/dataset/DatasetProcessor.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/dataset/SrmList.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/dataset/SrmList.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/dataset/SrmList.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/dataset/SrmList.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/dataset/SrmListUtils.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/dataset/SrmListUtils.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/dataset/SrmListUtils.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/dataset/SrmListUtils.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/DocletExecutor.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/DocletExecutor.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/DocletExecutor.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/DocletExecutor.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/Javadoc.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/Javadoc.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/Javadoc.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/Javadoc.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/JavadocProcessor.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/JavadocProcessor.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/JavadocProcessor.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/JavadocProcessor.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/SourceJarEvaluator.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/SourceJarEvaluator.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/SourceJarEvaluator.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/SourceJarEvaluator.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/XmlDocletParser.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/XmlDocletParser.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/XmlDocletParser.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/XmlDocletParser.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ClassBlockType.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ClassBlockType.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ClassBlockType.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ClassBlockType.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ClassCommentBlockType.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ClassCommentBlockType.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ClassCommentBlockType.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ClassCommentBlockType.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ClassCommentType.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ClassCommentType.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ClassCommentType.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ClassCommentType.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ClassType.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ClassType.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ClassType.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ClassType.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ConstructorBlockType.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ConstructorBlockType.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ConstructorBlockType.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ConstructorBlockType.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ConstructorCommentBlockType.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ConstructorCommentBlockType.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ConstructorCommentBlockType.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ConstructorCommentBlockType.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ConstructorCommentType.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ConstructorCommentType.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ConstructorCommentType.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ConstructorCommentType.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ConstructorType.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ConstructorType.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ConstructorType.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ConstructorType.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ConstructorsType.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ConstructorsType.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ConstructorsType.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ConstructorsType.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ExtendsBlockType.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ExtendsBlockType.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ExtendsBlockType.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ExtendsBlockType.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ExtendsType.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ExtendsType.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ExtendsType.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ExtendsType.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/InterfaceBlockType.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/InterfaceBlockType.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/InterfaceBlockType.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/InterfaceBlockType.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/InterfaceType.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/InterfaceType.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/InterfaceType.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/InterfaceType.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/MethodBlockType.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/MethodBlockType.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/MethodBlockType.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/MethodBlockType.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/MethodCommentBlockType.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/MethodCommentBlockType.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/MethodCommentBlockType.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/MethodCommentBlockType.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/MethodCommentType.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/MethodCommentType.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/MethodCommentType.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/MethodCommentType.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/MethodType.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/MethodType.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/MethodType.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/MethodType.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/MethodsType.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/MethodsType.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/MethodsType.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/MethodsType.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ObjectFactory.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ObjectFactory.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ObjectFactory.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ObjectFactory.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/PackageBlockType.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/PackageBlockType.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/PackageBlockType.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/PackageBlockType.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ReturnBlockType.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ReturnBlockType.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ReturnBlockType.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/ReturnBlockType.java diff --git a/doc-xml-exporter-doclet/src/main/java/de/fraunhofer/iem/doclet/xml/serializer/SSLDoclet.xsd b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/SSLDoclet.xsd similarity index 100% rename from doc-xml-exporter-doclet/src/main/java/de/fraunhofer/iem/doclet/xml/serializer/SSLDoclet.xsd rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/SSLDoclet.xsd diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/SsldocletType.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/SsldocletType.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/SsldocletType.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/ssldoclet/SsldocletType.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/CutoffClassifier.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/model/CutoffClassifier.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/CutoffClassifier.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/model/CutoffClassifier.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/MonteCarloValidator.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/model/MonteCarloValidator.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/MonteCarloValidator.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/model/MonteCarloValidator.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/toolkit/ML2Plan.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/model/toolkit/ML2Plan.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/toolkit/ML2Plan.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/model/toolkit/ML2Plan.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/toolkit/Weka.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/model/toolkit/Weka.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/toolkit/Weka.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/model/toolkit/Weka.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/soot/Soot.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/soot/Soot.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/soot/Soot.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/soot/Soot.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/soot/SootUtils.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/soot/SootUtils.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/soot/SootUtils.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/soot/SootUtils.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/util/Util.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/util/Util.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/util/Util.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/util/Util.java diff --git a/swan-pipeline/src/main/resources/dataset/meka/code-br/meka-code-br.arff b/swan-cmd/src/main/resources/dataset/meka/code-br/meka-code-br.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/meka/code-br/meka-code-br.arff rename to swan-cmd/src/main/resources/dataset/meka/code-br/meka-code-br.arff diff --git a/swan-pipeline/src/main/resources/dataset/meka/code/meka-code.arff b/swan-cmd/src/main/resources/dataset/meka/code/meka-code.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/meka/code/meka-code.arff rename to swan-cmd/src/main/resources/dataset/meka/code/meka-code.arff diff --git a/swan-pipeline/src/main/resources/dataset/meka/doc-auto/meka-doc-auto.arff b/swan-cmd/src/main/resources/dataset/meka/doc-auto/meka-doc-auto.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/meka/doc-auto/meka-doc-auto.arff rename to swan-cmd/src/main/resources/dataset/meka/doc-auto/meka-doc-auto.arff diff --git a/swan-pipeline/src/main/resources/dataset/meka/doc-manual/meka-doc-manual.arff b/swan-cmd/src/main/resources/dataset/meka/doc-manual/meka-doc-manual.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/meka/doc-manual/meka-doc-manual.arff rename to swan-cmd/src/main/resources/dataset/meka/doc-manual/meka-doc-manual.arff diff --git a/swan-pipeline/src/main/resources/dataset/srm-dataset.json b/swan-cmd/src/main/resources/dataset/srm-dataset.json similarity index 100% rename from swan-pipeline/src/main/resources/dataset/srm-dataset.json rename to swan-cmd/src/main/resources/dataset/srm-dataset.json diff --git a/swan-pipeline/src/main/resources/dataset/weka/code-br/authentication.arff b/swan-cmd/src/main/resources/dataset/weka/code-br/authentication.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/code-br/authentication.arff rename to swan-cmd/src/main/resources/dataset/weka/code-br/authentication.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/code-br/cwe078.arff b/swan-cmd/src/main/resources/dataset/weka/code-br/cwe078.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/code-br/cwe078.arff rename to swan-cmd/src/main/resources/dataset/weka/code-br/cwe078.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/code-br/cwe079.arff b/swan-cmd/src/main/resources/dataset/weka/code-br/cwe079.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/code-br/cwe079.arff rename to swan-cmd/src/main/resources/dataset/weka/code-br/cwe079.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/code-br/cwe089.arff b/swan-cmd/src/main/resources/dataset/weka/code-br/cwe089.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/code-br/cwe089.arff rename to swan-cmd/src/main/resources/dataset/weka/code-br/cwe089.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/code-br/cwe306.arff b/swan-cmd/src/main/resources/dataset/weka/code-br/cwe306.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/code-br/cwe306.arff rename to swan-cmd/src/main/resources/dataset/weka/code-br/cwe306.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/code-br/cwe601.arff b/swan-cmd/src/main/resources/dataset/weka/code-br/cwe601.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/code-br/cwe601.arff rename to swan-cmd/src/main/resources/dataset/weka/code-br/cwe601.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/code-br/cwe862.arff b/swan-cmd/src/main/resources/dataset/weka/code-br/cwe862.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/code-br/cwe862.arff rename to swan-cmd/src/main/resources/dataset/weka/code-br/cwe862.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/code-br/cwe863.arff b/swan-cmd/src/main/resources/dataset/weka/code-br/cwe863.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/code-br/cwe863.arff rename to swan-cmd/src/main/resources/dataset/weka/code-br/cwe863.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/code-br/sanitizer.arff b/swan-cmd/src/main/resources/dataset/weka/code-br/sanitizer.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/code-br/sanitizer.arff rename to swan-cmd/src/main/resources/dataset/weka/code-br/sanitizer.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/code-br/sink.arff b/swan-cmd/src/main/resources/dataset/weka/code-br/sink.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/code-br/sink.arff rename to swan-cmd/src/main/resources/dataset/weka/code-br/sink.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/code-br/source.arff b/swan-cmd/src/main/resources/dataset/weka/code-br/source.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/code-br/source.arff rename to swan-cmd/src/main/resources/dataset/weka/code-br/source.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/doc-auto/authentication.arff b/swan-cmd/src/main/resources/dataset/weka/doc-auto/authentication.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/doc-auto/authentication.arff rename to swan-cmd/src/main/resources/dataset/weka/doc-auto/authentication.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/doc-auto/cwe078.arff b/swan-cmd/src/main/resources/dataset/weka/doc-auto/cwe078.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/doc-auto/cwe078.arff rename to swan-cmd/src/main/resources/dataset/weka/doc-auto/cwe078.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/doc-auto/cwe079.arff b/swan-cmd/src/main/resources/dataset/weka/doc-auto/cwe079.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/doc-auto/cwe079.arff rename to swan-cmd/src/main/resources/dataset/weka/doc-auto/cwe079.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/doc-auto/cwe089.arff b/swan-cmd/src/main/resources/dataset/weka/doc-auto/cwe089.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/doc-auto/cwe089.arff rename to swan-cmd/src/main/resources/dataset/weka/doc-auto/cwe089.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/doc-auto/cwe306.arff b/swan-cmd/src/main/resources/dataset/weka/doc-auto/cwe306.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/doc-auto/cwe306.arff rename to swan-cmd/src/main/resources/dataset/weka/doc-auto/cwe306.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/doc-auto/cwe601.arff b/swan-cmd/src/main/resources/dataset/weka/doc-auto/cwe601.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/doc-auto/cwe601.arff rename to swan-cmd/src/main/resources/dataset/weka/doc-auto/cwe601.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/doc-auto/cwe862.arff b/swan-cmd/src/main/resources/dataset/weka/doc-auto/cwe862.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/doc-auto/cwe862.arff rename to swan-cmd/src/main/resources/dataset/weka/doc-auto/cwe862.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/doc-auto/cwe863.arff b/swan-cmd/src/main/resources/dataset/weka/doc-auto/cwe863.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/doc-auto/cwe863.arff rename to swan-cmd/src/main/resources/dataset/weka/doc-auto/cwe863.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/doc-auto/sanitizer.arff b/swan-cmd/src/main/resources/dataset/weka/doc-auto/sanitizer.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/doc-auto/sanitizer.arff rename to swan-cmd/src/main/resources/dataset/weka/doc-auto/sanitizer.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/doc-auto/sink.arff b/swan-cmd/src/main/resources/dataset/weka/doc-auto/sink.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/doc-auto/sink.arff rename to swan-cmd/src/main/resources/dataset/weka/doc-auto/sink.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/doc-auto/source.arff b/swan-cmd/src/main/resources/dataset/weka/doc-auto/source.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/doc-auto/source.arff rename to swan-cmd/src/main/resources/dataset/weka/doc-auto/source.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/doc-manual/authentication.arff b/swan-cmd/src/main/resources/dataset/weka/doc-manual/authentication.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/doc-manual/authentication.arff rename to swan-cmd/src/main/resources/dataset/weka/doc-manual/authentication.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/doc-manual/cwe078.arff b/swan-cmd/src/main/resources/dataset/weka/doc-manual/cwe078.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/doc-manual/cwe078.arff rename to swan-cmd/src/main/resources/dataset/weka/doc-manual/cwe078.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/doc-manual/cwe079.arff b/swan-cmd/src/main/resources/dataset/weka/doc-manual/cwe079.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/doc-manual/cwe079.arff rename to swan-cmd/src/main/resources/dataset/weka/doc-manual/cwe079.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/doc-manual/cwe089.arff b/swan-cmd/src/main/resources/dataset/weka/doc-manual/cwe089.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/doc-manual/cwe089.arff rename to swan-cmd/src/main/resources/dataset/weka/doc-manual/cwe089.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/doc-manual/cwe306.arff b/swan-cmd/src/main/resources/dataset/weka/doc-manual/cwe306.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/doc-manual/cwe306.arff rename to swan-cmd/src/main/resources/dataset/weka/doc-manual/cwe306.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/doc-manual/cwe601.arff b/swan-cmd/src/main/resources/dataset/weka/doc-manual/cwe601.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/doc-manual/cwe601.arff rename to swan-cmd/src/main/resources/dataset/weka/doc-manual/cwe601.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/doc-manual/cwe862.arff b/swan-cmd/src/main/resources/dataset/weka/doc-manual/cwe862.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/doc-manual/cwe862.arff rename to swan-cmd/src/main/resources/dataset/weka/doc-manual/cwe862.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/doc-manual/cwe863.arff b/swan-cmd/src/main/resources/dataset/weka/doc-manual/cwe863.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/doc-manual/cwe863.arff rename to swan-cmd/src/main/resources/dataset/weka/doc-manual/cwe863.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/doc-manual/sanitizer.arff b/swan-cmd/src/main/resources/dataset/weka/doc-manual/sanitizer.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/doc-manual/sanitizer.arff rename to swan-cmd/src/main/resources/dataset/weka/doc-manual/sanitizer.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/doc-manual/sink.arff b/swan-cmd/src/main/resources/dataset/weka/doc-manual/sink.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/doc-manual/sink.arff rename to swan-cmd/src/main/resources/dataset/weka/doc-manual/sink.arff diff --git a/swan-pipeline/src/main/resources/dataset/weka/doc-manual/source.arff b/swan-cmd/src/main/resources/dataset/weka/doc-manual/source.arff similarity index 100% rename from swan-pipeline/src/main/resources/dataset/weka/doc-manual/source.arff rename to swan-cmd/src/main/resources/dataset/weka/doc-manual/source.arff diff --git a/swan-pipeline/src/main/resources/dl4j-methods-first.txt b/swan-cmd/src/main/resources/dl4j-methods-first.txt similarity index 100% rename from swan-pipeline/src/main/resources/dl4j-methods-first.txt rename to swan-cmd/src/main/resources/dl4j-methods-first.txt diff --git a/swan-pipeline/src/main/resources/log4j.properties b/swan-cmd/src/main/resources/log4j.properties similarity index 100% rename from swan-pipeline/src/main/resources/log4j.properties rename to swan-cmd/src/main/resources/log4j.properties diff --git a/swan-pipeline/src/main/resources/stopwords-list.txt b/swan-cmd/src/main/resources/stopwords-list.txt similarity index 100% rename from swan-pipeline/src/main/resources/stopwords-list.txt rename to swan-cmd/src/main/resources/stopwords-list.txt diff --git a/swan-pipeline/src/test/java/parser/ExportTrainingFileTest.java b/swan-cmd/src/test/java/parser/ExportTrainingFileTest.java similarity index 100% rename from swan-pipeline/src/test/java/parser/ExportTrainingFileTest.java rename to swan-cmd/src/test/java/parser/ExportTrainingFileTest.java diff --git a/swan-pipeline/src/test/java/parser/ParseTrainingFileTest.java b/swan-cmd/src/test/java/parser/ParseTrainingFileTest.java similarity index 100% rename from swan-pipeline/src/test/java/parser/ParseTrainingFileTest.java rename to swan-cmd/src/test/java/parser/ParseTrainingFileTest.java From ab3e409ed0f8b3dcad26450fbcd0361bcf178be8 Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 19 Mar 2024 16:34:42 +0100 Subject: [PATCH 27/54] Create parent POM and Maven Modules --- coverage-doclet/pom.xml | 7 ++- pom.xml | 73 +++++++++++++++++++++++++++++ {swan-pipeline => swan-cmd}/pom.xml | 60 +++--------------------- xml-doclet/pom.xml | 7 ++- 4 files changed, 91 insertions(+), 56 deletions(-) create mode 100644 pom.xml rename {swan-pipeline => swan-cmd}/pom.xml (86%) diff --git a/coverage-doclet/pom.xml b/coverage-doclet/pom.xml index 3040c5a..177bae6 100644 --- a/coverage-doclet/pom.xml +++ b/coverage-doclet/pom.xml @@ -4,7 +4,12 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - de.fraunhofer.iem + + de.fraunhofer.iem + swan + 3.3.0 + + coverage-doclet diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..2b50349 --- /dev/null +++ b/pom.xml @@ -0,0 +1,73 @@ + + + 4.0.0 + + de.fraunhofer.iem + swan + pom + 3.3.0 + SWAN + + SWAN uses fully automated machine-learning approaches to classify Java methods into security-relevant + methods (SRM) and software vulnerabilities categories. + The methods are classified into the following security-relevant method categories sources, sinks, sanitizers and + authentication. For the software vulnerability classes, + the following Common Weakness Enumeration (CWE) vulnerabilities are supported: OS Command Injection, Cross-site + Scripting, SQL Injection, Missing Authentication, Open Redirect, Missing Authorisation, and Incorrect + Authorisation. + SWAN detects methods from the provided source code and outputs a list of methods that can be used to configure + static analysis tools. + + https://github.com/secure-software-engineering/swan + + + + BSD 3-Clause License + https://opensource.org/licenses/BSD-3-Clause + repo + + + + + + piskachev + Goran Piskachev + goran.piskachev@iem.fraunhofer.de + + + nguyen + Lisa Nguyen + lisa.nguyen@uni-paderborn.de + + + johnson + Oshando Johnson + oshando.johnson@iem.fraunhofer.de + + + budde + Ingo Budde + ingo.budde@iem.fraunhofer.de + + + bodden + Eric Bodden + eric.bodden@uni-paderborn.de + + + + + + UTF-8 + UTF-8 + + + + swan-cmd + training-data-jars + coverage-doclet + xml-doclet + + diff --git a/swan-pipeline/pom.xml b/swan-cmd/pom.xml similarity index 86% rename from swan-pipeline/pom.xml rename to swan-cmd/pom.xml index 0026045..bff9f19 100644 --- a/swan-pipeline/pom.xml +++ b/swan-cmd/pom.xml @@ -3,61 +3,13 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - de.fraunhofer.iem - swan - 3.2.0 - jar + + de.fraunhofer.iem + swan + 3.3.0 + - - SWAN - SWAN uses fully automated machine-learning approaches to classify Java methods into security-relevant - methods (SRM) and software vulnerabilities categories. - The methods are classified into the following security-relevant method categories sources, sinks, sanitizers and - authentication. For the software vulnerability classes, - the following Common Weakness Enumeration (CWE) vulnerabilities are supported: OS Command Injection, Cross-site - Scripting, SQL Injection, Missing Authentication, Open Redirect, Missing Authorisation, and Incorrect - Authorisation. - SWAN detects methods from the provided source code and outputs a list of methods that can be used to configure - static analysis tools. - - https://github.com/secure-software-engineering/swan - - - - BSD 3-Clause License - https://opensource.org/licenses/BSD-3-Clause - repo - - - - - - piskachev - Goran Piskachev - goran.piskachev@iem.fraunhofer.de - - - nguyen - Lisa Nguyen - lisa.nguyen@uni-paderborn.de - - - johnson - Oshando Johnson - oshando.johnson@iem.fraunhofer.de - - - budde - Ingo Budde - ingo.budde@iem.fraunhofer.de - - - bodden - Eric Bodden - eric.bodden@uni-paderborn.de - - - + swan-cmd scm:git:https://github.com/secure-software-engineering/swan.git diff --git a/xml-doclet/pom.xml b/xml-doclet/pom.xml index 116f35a..ad80f0f 100644 --- a/xml-doclet/pom.xml +++ b/xml-doclet/pom.xml @@ -4,7 +4,12 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - SSLDoclet + + de.fraunhofer.iem + swan + 3.3.0 + + Javadoc NLP Corpus Generation Doclet https://www.semanticsoftware.info/javadoclet From 3e246b4d6c4819a1debe62739a1d2b91bfd586b3 Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 19 Mar 2024 16:39:31 +0100 Subject: [PATCH 28/54] Add training dataset JAR files module --- training-data-jars/pom.xml | 496 ++++++++++++++++++ .../main/resources/training-data-jars-v1.1 | 100 ++++ 2 files changed, 596 insertions(+) create mode 100644 training-data-jars/pom.xml create mode 100644 training-data-jars/src/main/resources/training-data-jars-v1.1 diff --git a/training-data-jars/pom.xml b/training-data-jars/pom.xml new file mode 100644 index 0000000..d76f78b --- /dev/null +++ b/training-data-jars/pom.xml @@ -0,0 +1,496 @@ + + + 4.0.0 + + + de.fraunhofer.iem + swan + 3.3.0 + + + training-data-jars + + + 17 + 17 + UTF-8 + + + + + + gemmajas + http://maven.geomajas.org/ + + + + spring-release + https://oss.sonatype.org/content/repositories/releases/ + + + + + + com.google.android + android + 2.3.1 + provided + + + com.typesafe.play + anorm_2.10 + 2.3.10 + + + org.apache.httpcomponents + httpclient + 4.5.10 + + + org.apache.logging.log4j + log4j + 2.12.0 + pom + + + struts + struts + 1.2.4 + + + xalan + xalan + 2.7.2 + + + org.apache.xerces + org.apache.xerces + 2.8.0.v200705301630 + + + com.amazonaws + aws-java-sdk + 1.11.699 + + + commons-jxpath + commons-jxpath + 1.3 + + + org.owasp.encoder + encoder + 1.2.2 + + + com.google.auth + google-auth-library-oauth2-http + 0.4.0 + + + org.hibernate + hibernate-core + 4.2.4.Final + + + org.hibernate + hibernate-validator + 6.0.1.Final + + + org.apache.httpcomponents + httpclient + 4.0.3 + + + javax.mail + mail + 1.4.7 + + + javax.servlet + javax.servlet-api + 3.0.1 + provided + + + org.eclipse.jetty + jetty-http + 11.0.14 + + + com.novell.ldap + jldap + 2009-10-07 + + + com.mikesamuel + json-sanitizer + 1.1 + + + org.jetbrains.kotlin + kotlin-stdlib + 1.0.6 + + + org.dmfs + oauth2-essentials + 0.1 + + + org.springframework + spring-expression + 3.1.0.RELEASE + + + org.springframework.security + spring-security-core + 3.0.3.RELEASE + + + org.springframework + spring-web + 3.0.3.RELEASE + + + com.googlecode.owasp-java-html-sanitizer + owasp-java-html-sanitizer + r239 + + + com.typesafe.slick + slick_2.12 + 2.1.0 + + + org.springframework.ldap + spring-ldap + 1.3.1.RELEASE + pom + + + org.springframework + spring-core + 5.1.0.RELEASE + + + org.apache.struts + struts2-core + 2.1.2 + + + org.tinylog + tinylog + 1.1-beta-1 + + + com.unboundid + unboundid-ldapsdk + 4.0.0 + test + + + xalan + xalan + 2.7.0 + + + org.apache.struts.xwork + xwork-core + 2.2.3 + + + mysql + mysql-connector-java + 5.1.5 + + + commons-beanutils + commons-beanutils + 1.9.4 + + + commons-codec + commons-codec + 1.11 + + + commons-collections + commons-collections + 3.2.2 + + + org.apache.commons + commons-collections4 + 4.4 + + + commons-digester + commons-digester + 2.1 + + + commons-fileupload + commons-fileupload + 1.4 + + + commons-io + commons-io + 2.13.0 + + + commons-lang + commons-lang + 2.6 + + + org.apache.commons + commons-lang3 + 3.0 + + + org.apache.commons + commons-lang3 + 3.12.0 + + + commons-logging + commons-logging + 1.2 + + + org.owasp.esapi + esapi + 2.0_rc10 + + + org.freemarker + freemarker + 2.3.28 + + + com.google.collections + google-collections + 1.0 + + + com.google.gxp + google-gxp + 0.2.4-beta + + + org.hibernate.javax.persistence + hibernate-jpa-2.1-api + 1.0.2.Final + + + org.apache.httpcomponents + httpclient + 4.5.14 + + + org.apache.httpcomponents + httpcore + 4.4.9 + + + com.fasterxml.jackson.core + jackson-databind + 2.15.2 + + + org.freedesktop + stubs-shared + 1.5.0 + + + org.javassist + javassist + 3.22.0-GA + + + javax.servlet + javax.servlet-api + 3.0.1 + provided + + + org.xerial.thirdparty + jdbc-api + 1.4 + + + javax.jdo + jdo-api + 3.0.1 + + + org.eclipse.jetty + jetty-http + 9.4.18.v20190429 + + + javax.naming + jndi + 1.2.1 + + + org.jsoup + jsoup + 1.6.0 + + + org.apache.logging.log4j + log4j-api + 2.20.0 + + + org.apache.felix + org.apache.felix.framework + 6.0.0 + + + org.apache.felix + org.apache.felix.shell + 1.4.3 + + + org.springframework + org.springframework.web.servlet + 3.0.0.RELEASE + + + org.codehaus.plexus + plexus-utils + 3.1.0 + + + javax.portlet + portlet-api + 2.0 + provided + + + javax.portlet + portlet-api + 3.0.1 + provided + + + com.github.scribejava + scribejava-core + 2.7.3 + + + org.apache.shiro + shiro-all + 1.2.1 + + + org.slf4j + slf4j-api + 2.0.7 + + + org.springframework + spring + 2.5.6 + + + org.springframework + spring-context + 4.3.9.RELEASE + + + org.springframework + spring-expression + 4.3.9.RELEASE + + + org.springframework + spring-messaging + 4.3.9.RELEASE + + + org.springframework + spring-orm + 4.3.9.RELEASE + + + org.springframework.security + spring-security-config + 4.0.1.RELEASE + + + org.springframework.security + spring-security-core + 4.0.1.RELEASE + + + org.springframework + spring-test + 4.3.9.RELEASE + test + + + org.springframework + spring-web + 4.3.9.RELEASE + + + org.springframework + spring-webmvc-portlet + 4.3.9.RELEASE + + + org.springframework + spring-websocket + 4.3.9.RELEASE + + + org.apache.struts + struts2-core + 2.5.31 + + + org.apache.struts + struts2-core + 6.2.0 + + + torque + torque + 3.2 + + + io.vertx + vertx-sql-client + 4.3.0 + + + org.apache.wicket + wicket-core + 7.8.0 + + + com.thoughtworks.xstream + xstream + 1.4.10 + + + com.opensymphony + xwork + 2.1.3 + + + org.apache.struts.xwork + xwork-core + 2.3.37 + + + + diff --git a/training-data-jars/src/main/resources/training-data-jars-v1.1 b/training-data-jars/src/main/resources/training-data-jars-v1.1 new file mode 100644 index 0000000..ad3daa9 --- /dev/null +++ b/training-data-jars/src/main/resources/training-data-jars-v1.1 @@ -0,0 +1,100 @@ +android-2.3.1.jar +anorm_2.10.jar +apache-commons.jar +apache-httpcomponents-httpclient.jar +apache-logging-log4j.jar +apache-struts-1.2.4.jar +apache-xml-xalan.jar +apache-xml-xerces.jar +aws-java-sdk.jar +com.mysql.jdbc_5.1.5.jar +commons-beanutils-1.9.4.jar +commons-codec-1.11.jar +commons-collections-3.2.2.jar +commons-collections4-4.4.jar +commons-digester-2.1.jar +commons-fileupload-1.4.jar +commons-io-2.13.0.jar +commons-jxpath-1.3.jar +commons-lang-2.6.jar +commons-lang3-3.0.jar +commons-lang3-3.12.0.jar +commons-logging-1.2.jar +dropwizard-servlets-0.8.4.jar +encoder-1.2.jar +esapi-2.0_rc10.jar +freemarker-2.3.28.jar +google-auth-library-oauth2-http-0.4.0.jar +google-collect-1.0.jar +google-gxp-0.2.4-beta.jar +hibernate-core-4.2.4.final.jar +hibernate-jpa-2.1-api-1.0.2.Final.jar +hibernate-validator-6.0.1.Final.jar +httpclient-4.0.3.jar +httpclient-4.5.14.jar +httpcore-4.4.9.jar +jackson-databind-2.15.2.jar +java-rt-jar-stubs-1.5.0.jar +javassist-3.22.0-GA.jar +javax.mail.jar +javax.servlet-3.0.jar +javax.servlet-api-3.0.1.jar +jboss-seam.jar +jdbc-api-1.4.jar +jdo.jar +jetty-http-11.0.14.jar +jetty-http-9.4.18.v20190429.jar +jldap-2009-10-07.jar +jndi-1.2.1.jar +json-sanitizer-1.1.jar +jsoup-1.6.0.jar +kotlin-stdlib-1.0.6.jar +ldap.jar +log4j-api-2.20.0.jar +oauth2-essentials-0.1.jar +org-apache-xmlrpc.jar +org.apache.felix.framework-6.0.0.jar +org.apache.felix.shell-1.4.3.jar +org.apache.stratos.cli-4.0.0.jar +org.apache.wicket-all-1.0.4.release.jar +org.springframework.expression-3.1.0.release.jar +org.springframework.security.core-3.0.3.RELEASE.jar +org.springframework.web-3.0.6.release.jar +org.springframework.web.servlet-3.0.0.RELEASE.jar +owasp-java-html-sanitizer-r239.jar +plexus-utils-3.1.0.jar +portlet-api-2.0.jar +portlet-api-3.0.1.jar +scribejava-core-2.7.3.jar +shiro-all-1.2.1.jar +slf4j-api-2.0.7.jar +slf4j.jar +slick_2.10-3.1.1.jar +spring-2.5.6.jar +spring-context-4.3.9.RELEASE.jar +spring-expression-4.3.9.RELEASE.jar +spring-ldap-1.3.1.RELEASE-all.jar +spring-messaging-4.3.9.RELEASE.jar +spring-orm-4.3.9.RELEASE.jar +spring-security-config-4.0.1.RELEASE.jar +spring-security-core-4.0.1.RELEASE.jar +spring-test-4.3.9.RELEASE.jar +spring-web-4.3.9.RELEASE.jar +spring-webmvc-portlet-4.3.9.RELEASE.jar +spring-websocket-4.3.9.RELEASE.jar +springframework-5.1.0.jar +struts2-core-2.1.2.jar +struts2-core-2.5.31.jar +struts2-core-6.2.0.jar +tinylog-1.1.jar +torque-3.2.jar +unboundid-ldapsdk.jar +vertx-sql-client-4.3.0.jar +webgoat-container-7.0.1.jar +wicket-core-7.8.0.jar +xalan-j2-2.7.0.jar +xmldb.jar +xstream-1.4.10.jar +xwork-2.1.3.jar +xwork-core-2.2.3.jar +xwork-core-2.3.37.jar \ No newline at end of file From aa842939fcd77cec906eef9142b2ee4a3722bedc Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 19 Mar 2024 16:51:54 +0100 Subject: [PATCH 29/54] Move classes to swan-cmd directory --- .../src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java | 0 .../main/java/de/fraunhofer/iem/swan/model/ModelEvaluator.java | 2 +- .../main/java/de/fraunhofer/iem/swan/model/toolkit/Meka.java | 0 3 files changed, 1 insertion(+), 1 deletion(-) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java (100%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/model/ModelEvaluator.java (98%) rename {swan-pipeline => swan-cmd}/src/main/java/de/fraunhofer/iem/swan/model/toolkit/Meka.java (100%) diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/ModelEvaluator.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/model/ModelEvaluator.java similarity index 98% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/ModelEvaluator.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/model/ModelEvaluator.java index 4fec30e..4a1ab93 100644 --- a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/ModelEvaluator.java +++ b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/model/ModelEvaluator.java @@ -105,7 +105,7 @@ public void processResults(SrmList srmList) { try { if (!options.getOutputDir().isEmpty()) - SrmListUtils.exportFile(predictedSrmList, options.getOutputDir() + File.separator + "swan-srm-cwe-list.json"); + SrmListUtils.exportFile(predictedSrmList, options.getOutputDir() + File.separator + "detected-srm.json"); } catch (IOException e) { e.printStackTrace(); } diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/toolkit/Meka.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/model/toolkit/Meka.java similarity index 100% rename from swan-pipeline/src/main/java/de/fraunhofer/iem/swan/model/toolkit/Meka.java rename to swan-cmd/src/main/java/de/fraunhofer/iem/swan/model/toolkit/Meka.java From 3478c42b7434185edd3d0c6629fc1386ec9b9767 Mon Sep 17 00:00:00 2001 From: Oshando Johnson <32812797+oshando@users.noreply.github.com> Date: Tue, 19 Mar 2024 17:02:32 +0100 Subject: [PATCH 30/54] Remove hidden ds_store file --- .../src/main/java/de/fraunhofer/iem/.DS_Store | Bin 6148 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 swan-pipeline/src/main/java/de/fraunhofer/iem/.DS_Store diff --git a/swan-pipeline/src/main/java/de/fraunhofer/iem/.DS_Store b/swan-pipeline/src/main/java/de/fraunhofer/iem/.DS_Store deleted file mode 100644 index aa5edb1f9e19f4eedba671283065aa730e96e8a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKyG{c!5Zr|;BGIIz^cNuU2PO&yb$$R6B%0Hm1OnRY`0Ql%L6pRzNJ9a$(t2#~ zj;)*G)+-{qcz?bXnTyB_ZYW;Pku9(n)( From 4a179d01fa6001cee1f45fe7e0f5eb26ce25d059 Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 2 Apr 2024 13:08:23 +0200 Subject: [PATCH 31/54] Rename Dev-Assist Settings action --- .../java/de/fraunhofer/iem/devassist/actions/RunSwanAction.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-assist/src/main/java/de/fraunhofer/iem/devassist/actions/RunSwanAction.java b/dev-assist/src/main/java/de/fraunhofer/iem/devassist/actions/RunSwanAction.java index a788462..f2c5962 100644 --- a/dev-assist/src/main/java/de/fraunhofer/iem/devassist/actions/RunSwanAction.java +++ b/dev-assist/src/main/java/de/fraunhofer/iem/devassist/actions/RunSwanAction.java @@ -64,7 +64,7 @@ public void actionPerformed(AnActionEvent anActionEvent) { } if (!PropertiesComponent.getInstance(project).isTrueValue(Constants.SWAN_SETTINGS)) { - anActionEvent.getActionManager().getAction("SWAN_Assist.SettingsAction").actionPerformed(anActionEvent); + anActionEvent.getActionManager().getAction("Dev_Assist.SettingsAction").actionPerformed(anActionEvent); //TODO Run SWAN if the tool has been configured } else { runSwan(project); From 400e4cbfb7ebb20c18d4c4df2fbefd3b9c1082fe Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 2 Apr 2024 13:10:18 +0200 Subject: [PATCH 32/54] Update module descriptions and build instructions in ReadMe --- README.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index f925cf0..c19b1a8 100644 --- a/README.md +++ b/README.md @@ -1,35 +1,35 @@ # SWAN (Security methods for WeAkNess detection) -What is SWAN? -------------- -SWAN is a machine-learning approach used to detect of security-relevant methods (SRM) in Java programs. +SWAN is a machine-learning approach that detects security-relevant methods (SRM) in Java programs. SWAN should be used in combination with other static analyses tools and it helps the users to create a set of relevant methods required as an input for static analyses, e.g. taint- and type-state analysis. The tool currently detects four types of security relevant methods, namely: source, sink, sanitizer, and authentication methods. -The detected methods are further categorized according to relevant vulnerabilities from the [Common Weakness Enumeration (CWE)](https://cwe.mitre.org/). The following CWEs are currently supported: [CWE78 OS Command Injection](https://cwe.mitre.org/data/definitions/78.html), [CWE79 Cross-site Scripting](https://cwe.mitre.org/data/definitions/79.html), [CWE89 SQL Injection](https://cwe.mitre.org/data/definitions/89.html), [CWE306 Missing Authentication](https://cwe.mitre.org/data/definitions/306.html), [CWE601 Open Redirect](https://cwe.mitre.org/data/definitions/601.html), [CWE862 Missing Authorisation](https://cwe.mitre.org/data/definitions/862.html), and +SWAN also labels methods as relevant for 7 [Common Weakness Enumeration (CWE)](https://cwe.mitre.org/), namely: [CWE78 OS Command Injection](https://cwe.mitre.org/data/definitions/78.html), [CWE79 Cross-site Scripting](https://cwe.mitre.org/data/definitions/79.html), [CWE89 SQL Injection](https://cwe.mitre.org/data/definitions/89.html), [CWE306 Missing Authentication](https://cwe.mitre.org/data/definitions/306.html), [CWE601 Open Redirect](https://cwe.mitre.org/data/definitions/601.html), [CWE862 Missing Authorisation](https://cwe.mitre.org/data/definitions/862.html), and [CWE863 Incorrect Authorisation](https://cwe.mitre.org/data/definitions/863.html). -The project contains the following modules: -* **swan-pipeline**: core machine learning implementation for SWAN with components for data collection and preparation, feature engineering and model selection phases -* **swan-assist**: IntelliJ plugin provides GUI support for SWAN and enables active machine learning. -* **swan-javadoc-exporter**: Doclet exports doc comments to XML files so that they can be analyzed by the Natural Language Processing (NLP) module -* **doc-coverage-doclet**: Doclet calculates the software documentation coverage of Java programs based on the presence of doc comments for classes, methods, and other objects. +The project is divided into two main components: the command line tool [**swan-cmd**](https://github.com/secure-software-engineering/swan/tree/master/swan-cmd) and the IntelliJ plugin [**dev-assist**](https://github.com/secure-software-engineering/swan/tree/master/dev-assist) that provides a GUI for SWAN. + +1. **swan-cmd** is the command line implementation for SWAN with components for data collection, feature engineering, model selection and SRM prediction. The command line tool uses the following Maven modules: + - **training-data-jars** contains dependencies from which the training examples are extracted. + - Java Doclets to process and export software documentation + - **coverage-doclet** calculates the software documentation coverage of Java programs based on the presence of doc comments for classes, methods, and other objects. + - **xml-doclet** exports doc comments to XML files so that they can be analyzed by the Natural Language Processing (NLP) module +2. **dev-assist** provides GUI support for SWAN and enables active machine learning. + How do I get started with SWAN? ------------- -The easiest way to get started with SWAN is to use the pre-built binary from the newest release. To run SWAN, we provide a path to the Java project to be analyzed (JAR files or compiled classes) as well an output directory where SWAN will export its results. - -After downloading the necessary files from the most recent release, SWAN can be executed on the command line with the following command: +To run SWAN, you will need to provide a path to the Java project to be analyzed (JAR files or compiled classes) as well an output directory where SWAN will export its results. The easiest way to get started with SWAN is to use the pre-built binary from the newest release. After downloading the necessary files from the most recent release, SWAN can be executed on the command line with the following command: -java -jar swan-<swan-version>.jar-test -output +**java -jar swan-cmd-3.x.x.jar -test** */path/to/project/files* **-output** */output/directory* -This command runs the application and exports the detected security-relevant methods to a JSON file in the provided output directory. The available command line options can be found in the Wiki or by using the -help command line option. +This command runs the application and exports the detected security-relevant methods to a JSON file in the provided output directory. This command uses the following default settings: training dataset -in [dataset](/swan-cmd/src/main/resources/dataset), code features -f code, and the MEKA toolkit -t meka. The remaining default options are found in [CLIRunner](/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java). The available command line options can be found in the Wiki or by using the -help command line option. How do I build SWAN? ------------- -If you downloaded SWAN as a compressed release (e.g. .zip or .tar.gz), you can use mvn package to package the project. The commands provided above can then be used to run the generated JAR file. Alternatively, you can import the project directly into your IDE from the repository and package the project via the terminal or the Maven plugin in your IDE. +If you cloned the project or downloaded SWAN as a compressed release (e.g. .zip or .tar.gz), you can use mvn package to package the project. The commands provided above can then be used to run the generated JAR file. Alternatively, you can import the project directly into your IDE from the repository and package the project via the terminal or the Maven plugin in your IDE. Contributors ------------- -The following persons have contributed to SWAN: Goran Piskachev (goran.piskachev@iem.fraunhofer.de), Lisa Nguyen (lisa.nguyen@uni-paderborn.de), Oshando Johnson (oshando@iem.fraunhofer.de), Eric Bodden (eric.bodden@uni-paderborn.de) +The following persons have contributed to SWAN: Goran Piskachev (gpiskach@amazon.de), Lisa Nguyen (lisa.nguyen@uni-paderborn.de), Oshando Johnson (oshando.johnson@iem.fraunhofer.de), Eric Bodden (eric.bodden@uni-paderborn.de). From dee93fee1bafde23308a617853de01b0b4844ea2 Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 2 Apr 2024 13:18:52 +0200 Subject: [PATCH 33/54] Update CLI version and description --- .../src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java index b4ec066..5338986 100644 --- a/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java +++ b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java @@ -7,8 +7,8 @@ import java.util.List; import java.util.concurrent.Callable; -@CommandLine.Command(name = "SWAN CLI", mixinStandardHelpOptions = true, - version = "SWAN 3.2.2", description = "") +@CommandLine.Command(name = "swan", mixinStandardHelpOptions = true, + version = "swan-cmd-3.3.0", description = "Detects security-relevant methods using multi-label machine learning") public class CliRunner implements Callable { @CommandLine.Option(names = {"-test", "--test-data"}, description = {"Path of test JARs or class files"}) @@ -60,7 +60,7 @@ public class CliRunner implements Callable { private double split = 0.7; @CommandLine.Option(names = {"-p", "--phase"}, description = {"Phase: validate, predict"}) - private String phase = "validate"; + private String phase = "predict"; @CommandLine.Option(names = {"-pt", "--prediction-threshold"}, description = {"Threshold for predicting categories"}) private double predictionThreshold = 0.5; From 8c0482a6e2752f99d1f745b4508bb04773830119 Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 2 Apr 2024 15:30:10 +0200 Subject: [PATCH 34/54] Fix ARFF dataset path resolution error --- swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java | 2 +- .../de/fraunhofer/iem/swan/io/dataset/DatasetProcessor.java | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java index 743ea45..f6f992e 100644 --- a/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java +++ b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java @@ -59,7 +59,7 @@ public Integer run(SwanOptions options) throws Exception { for (String feature : options.getFeatureSet()) { String filepath = File.separator + "dataset" + File.separator + dataset - + File.separator + feature; + + File.separator + feature + File.separator; ArrayList files = new ArrayList<>(); for (File f : Objects.requireNonNull(fileUtility.getResourceDirectory(filepath).listFiles())) { diff --git a/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/dataset/DatasetProcessor.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/dataset/DatasetProcessor.java index f809ddd..ee930e9 100644 --- a/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/dataset/DatasetProcessor.java +++ b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/dataset/DatasetProcessor.java @@ -31,7 +31,6 @@ public Dataset run() { try { dataset.setTrain(SrmListUtils.importFile(options.getDatasetJson())); - System.out.println(); if (!options.getTrainDataDir().isEmpty()) soot.cleanupList(dataset.getTrain()); From 6d1d7d18e2c0964f4d9a56ab0bc1ddbef4e89cf7 Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 2 Apr 2024 15:31:39 +0200 Subject: [PATCH 35/54] Update output directory command option in Readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c19b1a8..63d63b8 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ How do I get started with SWAN? ------------- To run SWAN, you will need to provide a path to the Java project to be analyzed (JAR files or compiled classes) as well an output directory where SWAN will export its results. The easiest way to get started with SWAN is to use the pre-built binary from the newest release. After downloading the necessary files from the most recent release, SWAN can be executed on the command line with the following command: -**java -jar swan-cmd-3.x.x.jar -test** */path/to/project/files* **-output** */output/directory* +**java -jar swan-cmd-3.x.x.jar -test** */path/to/project/files* **-o** */output/directory* This command runs the application and exports the detected security-relevant methods to a JSON file in the provided output directory. This command uses the following default settings: training dataset -in [dataset](/swan-cmd/src/main/resources/dataset), code features -f code, and the MEKA toolkit -t meka. The remaining default options are found in [CLIRunner](/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java). The available command line options can be found in the Wiki or by using the -help command line option. From 8651855692e068dcf9f37e3af4b56e31d3144802 Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 2 Apr 2024 15:34:08 +0200 Subject: [PATCH 36/54] Update class name for Soot logger --- swan-cmd/src/main/java/de/fraunhofer/iem/swan/soot/Soot.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swan-cmd/src/main/java/de/fraunhofer/iem/swan/soot/Soot.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/soot/Soot.java index a257be4..8748e6d 100644 --- a/swan-cmd/src/main/java/de/fraunhofer/iem/swan/soot/Soot.java +++ b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/soot/Soot.java @@ -18,7 +18,7 @@ public class Soot { - private static final Logger logger = LoggerFactory.getLogger(SrmListUtils.class); + private static final Logger logger = LoggerFactory.getLogger(Soot.class); private String classpath; public Soot(String... path) { From bf5f293fb122c33d18147c5dd61aba2f996aef53 Mon Sep 17 00:00:00 2001 From: oshando Date: Fri, 26 Apr 2024 16:53:24 +0200 Subject: [PATCH 37/54] Remove feature folders --- .../main/resources/dataset/meka/{code-br => }/meka-code-br.arff | 0 .../src/main/resources/dataset/meka/{code => }/meka-code.arff | 0 .../main/resources/dataset/meka/{doc-auto => }/meka-doc-auto.arff | 0 .../resources/dataset/meka/{doc-manual => }/meka-doc-manual.arff | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename swan-cmd/src/main/resources/dataset/meka/{code-br => }/meka-code-br.arff (100%) rename swan-cmd/src/main/resources/dataset/meka/{code => }/meka-code.arff (100%) rename swan-cmd/src/main/resources/dataset/meka/{doc-auto => }/meka-doc-auto.arff (100%) rename swan-cmd/src/main/resources/dataset/meka/{doc-manual => }/meka-doc-manual.arff (100%) diff --git a/swan-cmd/src/main/resources/dataset/meka/code-br/meka-code-br.arff b/swan-cmd/src/main/resources/dataset/meka/meka-code-br.arff similarity index 100% rename from swan-cmd/src/main/resources/dataset/meka/code-br/meka-code-br.arff rename to swan-cmd/src/main/resources/dataset/meka/meka-code-br.arff diff --git a/swan-cmd/src/main/resources/dataset/meka/code/meka-code.arff b/swan-cmd/src/main/resources/dataset/meka/meka-code.arff similarity index 100% rename from swan-cmd/src/main/resources/dataset/meka/code/meka-code.arff rename to swan-cmd/src/main/resources/dataset/meka/meka-code.arff diff --git a/swan-cmd/src/main/resources/dataset/meka/doc-auto/meka-doc-auto.arff b/swan-cmd/src/main/resources/dataset/meka/meka-doc-auto.arff similarity index 100% rename from swan-cmd/src/main/resources/dataset/meka/doc-auto/meka-doc-auto.arff rename to swan-cmd/src/main/resources/dataset/meka/meka-doc-auto.arff diff --git a/swan-cmd/src/main/resources/dataset/meka/doc-manual/meka-doc-manual.arff b/swan-cmd/src/main/resources/dataset/meka/meka-doc-manual.arff similarity index 100% rename from swan-cmd/src/main/resources/dataset/meka/doc-manual/meka-doc-manual.arff rename to swan-cmd/src/main/resources/dataset/meka/meka-doc-manual.arff From 8ad3db88fb3ac4f95b3d19f71716c97b85ac4c19 Mon Sep 17 00:00:00 2001 From: oshando Date: Fri, 26 Apr 2024 16:53:47 +0200 Subject: [PATCH 38/54] Remove zero from CWE names --- .../resources/dataset/weka/code-br/{cwe078.arff => cwe78.arff} | 0 .../resources/dataset/weka/code-br/{cwe079.arff => cwe79.arff} | 0 .../resources/dataset/weka/code-br/{cwe089.arff => cwe89.arff} | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename swan-cmd/src/main/resources/dataset/weka/code-br/{cwe078.arff => cwe78.arff} (100%) rename swan-cmd/src/main/resources/dataset/weka/code-br/{cwe079.arff => cwe79.arff} (100%) rename swan-cmd/src/main/resources/dataset/weka/code-br/{cwe089.arff => cwe89.arff} (100%) diff --git a/swan-cmd/src/main/resources/dataset/weka/code-br/cwe078.arff b/swan-cmd/src/main/resources/dataset/weka/code-br/cwe78.arff similarity index 100% rename from swan-cmd/src/main/resources/dataset/weka/code-br/cwe078.arff rename to swan-cmd/src/main/resources/dataset/weka/code-br/cwe78.arff diff --git a/swan-cmd/src/main/resources/dataset/weka/code-br/cwe079.arff b/swan-cmd/src/main/resources/dataset/weka/code-br/cwe79.arff similarity index 100% rename from swan-cmd/src/main/resources/dataset/weka/code-br/cwe079.arff rename to swan-cmd/src/main/resources/dataset/weka/code-br/cwe79.arff diff --git a/swan-cmd/src/main/resources/dataset/weka/code-br/cwe089.arff b/swan-cmd/src/main/resources/dataset/weka/code-br/cwe89.arff similarity index 100% rename from swan-cmd/src/main/resources/dataset/weka/code-br/cwe089.arff rename to swan-cmd/src/main/resources/dataset/weka/code-br/cwe89.arff From 9745035b1340822ceb4f11adc9087fd939648ef8 Mon Sep 17 00:00:00 2001 From: oshando Date: Fri, 26 Apr 2024 16:56:08 +0200 Subject: [PATCH 39/54] Refactor ARFF files loading from file system --- .../de/fraunhofer/iem/swan/cli/SwanCli.java | 30 ++++++++++++------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java index f6f992e..09dbc53 100644 --- a/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java +++ b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java @@ -44,28 +44,34 @@ public Integer run(SwanOptions options) throws Exception { List instances = new ArrayList<>(); - String dataset = ""; + String toolkit = ""; switch (ModelEvaluator.Toolkit.valueOf(options.getToolkit().toUpperCase())) { case MEKA: case ML2PLAN: - dataset = "meka"; + toolkit = "meka"; break; case WEKA: - dataset = options.getToolkit(); + toolkit = options.getToolkit(); break; } for (String feature : options.getFeatureSet()) { - String filepath = File.separator + "dataset" + File.separator + dataset - + File.separator + feature + File.separator; - ArrayList files = new ArrayList<>(); - for (File f : Objects.requireNonNull(fileUtility.getResourceDirectory(filepath).listFiles())) { - files.add(f.getAbsolutePath()); + String filepath = File.separator + "dataset" + File.separator + toolkit + + File.separator; + + if (toolkit.contentEquals("meka")) { + + instances.add(fileUtility.getResourceFile(filepath + toolkit + "-" + feature + ".arff", + null).getAbsolutePath()); + } else { + for (String srm : options.getAllClasses()) { + instances.add(fileUtility.getResourceFile(filepath + feature + File.separator + srm + ".arff", + null).getAbsolutePath()); + } } - instances.addAll(files); } options.setInstances(instances); } @@ -77,10 +83,12 @@ public Integer run(SwanOptions options) throws Exception { swanPipeline.run(); return 0; - } catch (CancellationException e) { + } catch ( + CancellationException e) { logger.warn("Analysis run was cancelled"); return 66; - } catch (Exception e) { + } catch ( + Exception e) { logger.error("Analysis run terminated with error", e); return 500; } finally { From 05c4bc2c9dff34c435f12f10f657a9d0524dcde0 Mon Sep 17 00:00:00 2001 From: oshando Date: Fri, 26 Apr 2024 16:58:01 +0200 Subject: [PATCH 40/54] Fix array initialization exception --- .../de/fraunhofer/iem/swan/io/doc/DocletExecutor.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/DocletExecutor.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/DocletExecutor.java index 9961bc3..f7e8b21 100644 --- a/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/DocletExecutor.java +++ b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/io/doc/DocletExecutor.java @@ -3,7 +3,7 @@ import javax.tools.DocumentationTool; import javax.tools.ToolProvider; import java.util.ArrayList; -import java.util.List; +import java.util.Arrays; /** * @author Oshando Johnson on 03.06.20 @@ -35,7 +35,7 @@ public void setDoclet(String doclet) { public void runDoclet(String sourcePath, String packages, String outputPath) { - ArrayList docletArgs = new ArrayList<>(List.of( + ArrayList docletArgs = new ArrayList<>(Arrays.asList( "-doclet", doclet, "-docletpath", getDocletPath(doclet), "-sourcepath", sourcePath, @@ -56,7 +56,7 @@ public void runDoclet(String sourcePath, String packages) { } /** - * Returns jar location for the the specified doclet. + * Returns jar location for the specified doclet. * * @param doclet name of doclet * @return path to doclet jar @@ -70,6 +70,6 @@ private String getDocletPath(String doclet) { case STANDARD_DOCLET: return "/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/lib/tools.jar"; } - return null; + return ""; } } \ No newline at end of file From 6c60497eb21017ba27c2f086ce6844990eae3d47 Mon Sep 17 00:00:00 2001 From: oshando Date: Mon, 29 Apr 2024 15:41:23 +0200 Subject: [PATCH 41/54] Move ML-Plan model selection to new Maven module --- ml2plan-model-selection/pom.xml | 56 +++++++++++++++++++ .../main/java/de/fraunhofer/iem}/ML2Plan.java | 30 +--------- swan-cmd/pom.xml | 15 ----- .../de/fraunhofer/iem/swan/cli/CliRunner.java | 2 +- .../iem/swan/features/FeatureSetSelector.java | 1 - .../iem/swan/model/ModelEvaluator.java | 9 +-- 6 files changed, 61 insertions(+), 52 deletions(-) create mode 100644 ml2plan-model-selection/pom.xml rename {swan-cmd/src/main/java/de/fraunhofer/iem/swan/model/toolkit => ml2plan-model-selection/src/main/java/de/fraunhofer/iem}/ML2Plan.java (76%) diff --git a/ml2plan-model-selection/pom.xml b/ml2plan-model-selection/pom.xml new file mode 100644 index 0000000..7b05e5b --- /dev/null +++ b/ml2plan-model-selection/pom.xml @@ -0,0 +1,56 @@ + + + 4.0.0 + + de.fraunhofer.iem + swan + 3.3.1 + + + ml2plan-model-selection + + + 17 + 17 + UTF-8 + + + + + scijava-public + https://maven.scijava.org/content/repositories/public/ + + + + + + ai.libs + hasco-core + 0.2.7 + + + ai.libs + jaicore-algorithminspector + 0.2.7 + + + ai.libs + mlplan-meka + 0.2.7 + + + org.graphstream + gs-ui-javafx + 2.0 + + + com.github.mwever + gs-core + 2.0.2-synchrofix + + + + + \ No newline at end of file diff --git a/swan-cmd/src/main/java/de/fraunhofer/iem/swan/model/toolkit/ML2Plan.java b/ml2plan-model-selection/src/main/java/de/fraunhofer/iem/ML2Plan.java similarity index 76% rename from swan-cmd/src/main/java/de/fraunhofer/iem/swan/model/toolkit/ML2Plan.java rename to ml2plan-model-selection/src/main/java/de/fraunhofer/iem/ML2Plan.java index 26994e9..8252e0b 100644 --- a/swan-cmd/src/main/java/de/fraunhofer/iem/swan/model/toolkit/ML2Plan.java +++ b/ml2plan-model-selection/src/main/java/de/fraunhofer/iem/ML2Plan.java @@ -1,4 +1,4 @@ -package de.fraunhofer.iem.swan.model.toolkit; +package de.fraunhofer.iem; import ai.libs.jaicore.ml.classification.multilabel.dataset.IMekaInstances; import ai.libs.jaicore.ml.classification.multilabel.dataset.MekaInstances; @@ -8,10 +8,6 @@ import ai.libs.jaicore.ml.core.filter.SplitterUtil; import ai.libs.mlplan.core.MLPlan; import ai.libs.mlplan.meka.ML2PlanMekaBuilder; -import de.fraunhofer.iem.swan.cli.SwanOptions; -import de.fraunhofer.iem.swan.features.MekaFeatureSet; -import de.fraunhofer.iem.swan.io.dataset.SrmList; -import de.fraunhofer.iem.swan.model.ModelEvaluator; import meka.core.MLUtils; import org.api4.java.ai.ml.classification.multilabel.evaluation.IMultiLabelClassification; import org.api4.java.ai.ml.core.dataset.supervised.ILabeledDataset; @@ -32,34 +28,14 @@ public class ML2Plan { private static final Logger LOGGER = LoggerFactory.getLogger(ML2Plan.class); - private MekaFeatureSet featureSet; + /* private MekaFeatureSet featureSet; private SwanOptions swanOptions; public ML2Plan(MekaFeatureSet features, SwanOptions options) { this.featureSet = features; swanOptions = options; - } - - /** - * Trains and evaluates the model with the given training data and specified classification mode. - * - * @return Hashmap containing the name of the classifier and it's F-Measure - */ - public SrmList trainModel() { - - switch (ModelEvaluator.Phase.valueOf(swanOptions.getPhase().toUpperCase())) { - case VALIDATE: + }*/ - try { - crossValidate(featureSet.getTrainInstances().get("meka")); - } catch (Exception e) { - throw new RuntimeException(e); - } - return null; - case PREDICT: - } - return null; - } public void crossValidate(Instances instances) throws Exception { diff --git a/swan-cmd/pom.xml b/swan-cmd/pom.xml index bff9f19..6593145 100644 --- a/swan-cmd/pom.xml +++ b/swan-cmd/pom.xml @@ -105,21 +105,6 @@ deeplearning4j-nlp ${dl4j-master.version} - - ai.libs - mlplan-meka - 0.2.7 - - - org.graphstream - gs-ui-javafx - 2.0 - - - ai.libs - hasco-core - 0.2.7 - org.slf4j slf4j-api diff --git a/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java index 5338986..768fcfc 100644 --- a/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java +++ b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java @@ -35,7 +35,7 @@ public class CliRunner implements Callable { @CommandLine.Option(names = {"-f", "--feature"}, arity = "1..*", description = {"Select one or more feature sets: all, code, code-br, doc-auto or doc-manual"}) private List featureSet = Collections.singletonList("code"); - @CommandLine.Option(names = {"-t", "--toolkit"}, description = {"ML toolkit: meka, weka, ml2plan"}) + @CommandLine.Option(names = {"-t", "--toolkit"}, description = {"ML toolkit: meka, weka"}) private String toolkit = "meka"; @CommandLine.Option(names = {"-s", "--srm"}, description = {"SRM: all, source, sink, sanitizer, authentication"}) diff --git a/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/FeatureSetSelector.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/FeatureSetSelector.java index cebf335..32779a6 100644 --- a/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/FeatureSetSelector.java +++ b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/features/FeatureSetSelector.java @@ -10,7 +10,6 @@ public IFeatureSet select(Dataset dataset, SwanOptions options) { switch (ModelEvaluator.Toolkit.valueOf(options.getToolkit().toUpperCase())) { - case ML2PLAN: case MEKA: MekaFeatureSet mekaFeatureSet = new MekaFeatureSet(dataset, options); mekaFeatureSet.createFeatures(); diff --git a/swan-cmd/src/main/java/de/fraunhofer/iem/swan/model/ModelEvaluator.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/model/ModelEvaluator.java index 4a1ab93..0dc8957 100644 --- a/swan-cmd/src/main/java/de/fraunhofer/iem/swan/model/ModelEvaluator.java +++ b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/model/ModelEvaluator.java @@ -9,7 +9,6 @@ import de.fraunhofer.iem.swan.io.dataset.Dataset; import de.fraunhofer.iem.swan.io.dataset.SrmList; import de.fraunhofer.iem.swan.io.dataset.SrmListUtils; -import de.fraunhofer.iem.swan.model.toolkit.ML2Plan; import de.fraunhofer.iem.swan.model.toolkit.Meka; import de.fraunhofer.iem.swan.model.toolkit.Weka; import org.slf4j.Logger; @@ -30,8 +29,7 @@ public class ModelEvaluator { public enum Toolkit { WEKA, - MEKA, - ML2PLAN + MEKA } public enum Phase { @@ -70,11 +68,6 @@ public void trainModel() { Weka weka = new Weka((WekaFeatureSet) features, options, dataset.getTestMethods()); processResults(weka.trainModel()); break; - case ML2PLAN: - logger.info("Evaluating model with ML-PLAN"); - ML2Plan mlPlan = new ML2Plan((MekaFeatureSet) features, options); - processResults(mlPlan.trainModel()); - break; } } From cd26dbc84b996315484149b91a854480a1573768 Mon Sep 17 00:00:00 2001 From: oshando Date: Mon, 29 Apr 2024 15:53:06 +0200 Subject: [PATCH 42/54] Refactor ARFF dataset preparation --- .../de/fraunhofer/iem/swan/cli/SwanCli.java | 20 +++---------------- .../de/fraunhofer/iem/swan/util/Util.java | 5 ++++- 2 files changed, 7 insertions(+), 18 deletions(-) diff --git a/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java index 09dbc53..97c42cc 100644 --- a/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java +++ b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java @@ -44,27 +44,13 @@ public Integer run(SwanOptions options) throws Exception { List instances = new ArrayList<>(); - String toolkit = ""; - - switch (ModelEvaluator.Toolkit.valueOf(options.getToolkit().toUpperCase())) { - - case MEKA: - case ML2PLAN: - toolkit = "meka"; - break; - case WEKA: - toolkit = options.getToolkit(); - break; - } - for (String feature : options.getFeatureSet()) { - String filepath = File.separator + "dataset" + File.separator + toolkit + String filepath = File.separator + "dataset" + File.separator + options.getToolkit().toLowerCase() + File.separator; - if (toolkit.contentEquals("meka")) { - - instances.add(fileUtility.getResourceFile(filepath + toolkit + "-" + feature + ".arff", + if (options.getToolkit().toLowerCase().contentEquals("meka")) { + instances.add(fileUtility.getResourceFile(filepath + options.getToolkit().toLowerCase() + "-" + feature + ".arff", null).getAbsolutePath()); } else { for (String srm : options.getAllClasses()) { diff --git a/swan-cmd/src/main/java/de/fraunhofer/iem/swan/util/Util.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/util/Util.java index e23dce3..6ca4a13 100644 --- a/swan-cmd/src/main/java/de/fraunhofer/iem/swan/util/Util.java +++ b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/util/Util.java @@ -143,8 +143,11 @@ public static String buildCP(String[] dirs) { File folder = new File(dir); + if (dir.isEmpty() || !folder.exists() || !Files.isDirectory(folder.toPath())) + continue; + //If folder contains .class files, add path to classpath - if (FileUtils.listFiles(folder, new String[]{"class"}, true).size() > 0) + if (!FileUtils.listFiles(folder, new String[]{"class"}, true).isEmpty()) paths.add(dir); else { for (File file : FileUtils.listFiles(folder, new String[]{"jar", "apk"}, true)) { From 43d221b4102e66e2376282f5dac64e1e898c9cf6 Mon Sep 17 00:00:00 2001 From: oshando Date: Mon, 29 Apr 2024 15:53:48 +0200 Subject: [PATCH 43/54] Remove print statement and empty lines --- .../java/de/fraunhofer/iem/devassist/actions/SettingsAction.java | 1 - .../de/fraunhofer/iem/devassist/analysis/SwanBackgroundTask.java | 1 - 2 files changed, 2 deletions(-) diff --git a/dev-assist/src/main/java/de/fraunhofer/iem/devassist/actions/SettingsAction.java b/dev-assist/src/main/java/de/fraunhofer/iem/devassist/actions/SettingsAction.java index c1972ee..80b0cad 100644 --- a/dev-assist/src/main/java/de/fraunhofer/iem/devassist/actions/SettingsAction.java +++ b/dev-assist/src/main/java/de/fraunhofer/iem/devassist/actions/SettingsAction.java @@ -64,7 +64,6 @@ public void actionPerformed(AnActionEvent anActionEvent) { HashMap settings = dialog.getParameters(); - System.out.println("PPP: "+settings); for (String property : settings.keySet()) PropertiesComponent.getInstance(project).setValue(property, settings.get(property)); } diff --git a/dev-assist/src/main/java/de/fraunhofer/iem/devassist/analysis/SwanBackgroundTask.java b/dev-assist/src/main/java/de/fraunhofer/iem/devassist/analysis/SwanBackgroundTask.java index 973d31d..67a137f 100644 --- a/dev-assist/src/main/java/de/fraunhofer/iem/devassist/analysis/SwanBackgroundTask.java +++ b/dev-assist/src/main/java/de/fraunhofer/iem/devassist/analysis/SwanBackgroundTask.java @@ -52,7 +52,6 @@ public void run(@NotNull ProgressIndicator indicator) { options.setTrainDataDir(""); options.setAddKnownSrms(true); - indicator.setText("Running SWAN"); SwanCli swan = new SwanCli(); From 9334944afb0768fd173c281074abad13c648c2aa Mon Sep 17 00:00:00 2001 From: oshando Date: Mon, 29 Apr 2024 15:54:34 +0200 Subject: [PATCH 44/54] Bump Soot from v4.4.1 to v.4.5.0 --- swan-cmd/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swan-cmd/pom.xml b/swan-cmd/pom.xml index 6593145..fede034 100644 --- a/swan-cmd/pom.xml +++ b/swan-cmd/pom.xml @@ -32,7 +32,7 @@ org.soot-oss soot - 4.4.1 + 4.5.0 nz.ac.waikato.cms.weka From c5a90d1d5cc30298ac1cbe0f3cf853d478ca17b0 Mon Sep 17 00:00:00 2001 From: oshando Date: Mon, 29 Apr 2024 15:55:49 +0200 Subject: [PATCH 45/54] Bump Stanford NLP from v4.4.0 to v.4.5.5 --- swan-cmd/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/swan-cmd/pom.xml b/swan-cmd/pom.xml index fede034..ea96a1d 100644 --- a/swan-cmd/pom.xml +++ b/swan-cmd/pom.xml @@ -57,12 +57,12 @@ edu.stanford.nlp stanford-corenlp - 4.4.0 + 4.5.5 edu.stanford.nlp stanford-corenlp - 4.4.0 + 4.5.5 models From e212658818baa604cc210008a06c68044779eaeb Mon Sep 17 00:00:00 2001 From: oshando Date: Mon, 29 Apr 2024 15:57:32 +0200 Subject: [PATCH 46/54] Bump Maven compiler (3.13.0), source (3.3.1) and shade (3.5.2) plugins --- swan-cmd/pom.xml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/swan-cmd/pom.xml b/swan-cmd/pom.xml index ea96a1d..733f14c 100644 --- a/swan-cmd/pom.xml +++ b/swan-cmd/pom.xml @@ -187,16 +187,12 @@ org.apache.maven.plugins maven-compiler-plugin - 3.10.1 - - 9 - 9 - + 3.13.0 org.apache.maven.plugins maven-source-plugin - 3.2.1 + 3.3.1 attach-sources @@ -209,7 +205,7 @@ org.apache.maven.plugins maven-shade-plugin - 3.2.4 + 3.5.2 package From 4925fd05f1fa38df8213e5f8c4c722457b8bfbcd Mon Sep 17 00:00:00 2001 From: oshando Date: Mon, 29 Apr 2024 16:02:02 +0200 Subject: [PATCH 47/54] Bump SWAN from v3.3.0 to v3.3.1 --- coverage-doclet/pom.xml | 2 +- dev-assist/build.gradle | 3 +- pom.xml | 5 +- swan-cmd/pom.xml | 2 +- .../de/fraunhofer/iem/swan/cli/CliRunner.java | 2 +- training-data-jars/pom.xml | 182 ++++++++++-------- xml-doclet/pom.xml | 2 +- 7 files changed, 110 insertions(+), 88 deletions(-) diff --git a/coverage-doclet/pom.xml b/coverage-doclet/pom.xml index 177bae6..c2a51b4 100644 --- a/coverage-doclet/pom.xml +++ b/coverage-doclet/pom.xml @@ -7,7 +7,7 @@ de.fraunhofer.iem swan - 3.3.0 + 3.3.1 coverage-doclet diff --git a/dev-assist/build.gradle b/dev-assist/build.gradle index daa502d..504e21f 100644 --- a/dev-assist/build.gradle +++ b/dev-assist/build.gradle @@ -13,7 +13,8 @@ repositories { dependencies { implementation 'com.googlecode.json-simple:json-simple:1.1' - implementation 'de.fraunhofer.iem:swan:3.2.2' + implementation 'de.fraunhofer.iem:swan:3.3.1' + implementation 'de.fraunhofer.iem:swan-cmd:3.3.1' implementation 'org.slf4j:slf4j-api:1.7.29' implementation 'org.slf4j:slf4j-simple:1.7.29' implementation 'org.apache.commons:commons-lang3:3.0' diff --git a/pom.xml b/pom.xml index 2b50349..5460b7d 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ de.fraunhofer.iem swan pom - 3.3.0 + 3.3.1 SWAN SWAN uses fully automated machine-learning approaches to classify Java methods into security-relevant @@ -65,9 +65,10 @@ - swan-cmd training-data-jars coverage-doclet xml-doclet + ml2plan-model-selection + swan-cmd diff --git a/swan-cmd/pom.xml b/swan-cmd/pom.xml index 733f14c..078dbd0 100644 --- a/swan-cmd/pom.xml +++ b/swan-cmd/pom.xml @@ -6,7 +6,7 @@ de.fraunhofer.iem swan - 3.3.0 + 3.3.1 swan-cmd diff --git a/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java index 768fcfc..3abecbf 100644 --- a/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java +++ b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java @@ -8,7 +8,7 @@ import java.util.concurrent.Callable; @CommandLine.Command(name = "swan", mixinStandardHelpOptions = true, - version = "swan-cmd-3.3.0", description = "Detects security-relevant methods using multi-label machine learning") + version = "swan-cmd-3.3.1", description = "Detects security-relevant methods using multi-label machine learning") public class CliRunner implements Callable { @CommandLine.Option(names = {"-test", "--test-data"}, description = {"Path of test JARs or class files"}) diff --git a/training-data-jars/pom.xml b/training-data-jars/pom.xml index d76f78b..a8cfbef 100644 --- a/training-data-jars/pom.xml +++ b/training-data-jars/pom.xml @@ -7,29 +7,41 @@ de.fraunhofer.iem swan - 3.3.0 + 3.3.1 training-data-jars - 17 - 17 + 11 + 11 UTF-8 + + spring-libs-release + https://repo.spring.io/libs-release/ + + + + maven2 + https://repo1.maven.org/maven2/ + - gemmajas + geomajas http://maven.geomajas.org/ + spring-release https://oss.sonatype.org/content/repositories/releases/ + + @@ -43,17 +55,29 @@ anorm_2.10 2.3.10 + org.apache.httpcomponents httpclient 4.5.10 + org.apache.logging.log4j log4j 2.12.0 pom + struts struts @@ -64,11 +88,17 @@ xalan 2.7.2 - + + + com.amazonaws aws-java-sdk @@ -99,26 +129,21 @@ hibernate-validator 6.0.1.Final - - org.apache.httpcomponents - httpclient - 4.0.3 - javax.mail mail 1.4.7 - - javax.servlet - javax.servlet-api - 3.0.1 - provided - - + + + + org.eclipse.jetty + jetty-http + 9.4.18.v20190429 com.novell.ldap @@ -140,20 +165,27 @@ oauth2-essentials 0.1 - + + + + org.springframework + spring-expression + 4.3.9.RELEASE + + - org.springframework - spring-web - 3.0.3.RELEASE + org.springframework.security + spring-security-core + 4.0.1.RELEASE com.googlecode.owasp-java-html-sanitizer @@ -176,11 +208,6 @@ spring-core 5.1.0.RELEASE - - org.apache.struts - struts2-core - 2.1.2 - org.tinylog tinylog @@ -192,16 +219,33 @@ 4.0.0 test - - xalan - xalan - 2.7.0 - - + + + + org.apache.struts.xwork + xwork-core + 2.3.37 + + + + org.apache.struts + struts2-core + 6.2.0 + + mysql mysql-connector-java @@ -247,11 +291,12 @@ commons-lang 2.6 - + + org.apache.commons commons-lang3 @@ -287,11 +332,6 @@ hibernate-jpa-2.1-api 1.0.2.Final - - org.apache.httpcomponents - httpclient - 4.5.14 - org.apache.httpcomponents httpcore @@ -328,16 +368,12 @@ jdo-api 3.0.1 - - org.eclipse.jetty - jetty-http - 9.4.18.v20190429 - - + + org.jsoup jsoup @@ -358,22 +394,24 @@ org.apache.felix.shell 1.4.3 - + + org.codehaus.plexus plexus-utils 3.1.0 - + + javax.portlet portlet-api @@ -405,11 +443,6 @@ spring-context 4.3.9.RELEASE - - org.springframework - spring-expression - 4.3.9.RELEASE - org.springframework spring-messaging @@ -425,22 +458,23 @@ spring-security-config 4.0.1.RELEASE - - org.springframework.security - spring-security-core - 4.0.1.RELEASE - org.springframework spring-test 4.3.9.RELEASE test + org.springframework spring-web 4.3.9.RELEASE + org.springframework spring-webmvc-portlet @@ -451,21 +485,12 @@ spring-websocket 4.3.9.RELEASE - - org.apache.struts - struts2-core - 2.5.31 - - - org.apache.struts - struts2-core - 6.2.0 - - + + io.vertx vertx-sql-client @@ -486,11 +511,6 @@ xwork 2.1.3 - - org.apache.struts.xwork - xwork-core - 2.3.37 - diff --git a/xml-doclet/pom.xml b/xml-doclet/pom.xml index ad80f0f..d1a9a35 100644 --- a/xml-doclet/pom.xml +++ b/xml-doclet/pom.xml @@ -7,7 +7,7 @@ de.fraunhofer.iem swan - 3.3.0 + 3.3.1 Javadoc NLP Corpus Generation Doclet From 0b86fede5a58e6a18a598589cd7ef107ce7352e6 Mon Sep 17 00:00:00 2001 From: oshando Date: Mon, 29 Apr 2024 16:03:38 +0200 Subject: [PATCH 48/54] Bump Dev-Assist untilBuild to Build 242 --- dev-assist/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-assist/build.gradle b/dev-assist/build.gradle index 504e21f..d462855 100644 --- a/dev-assist/build.gradle +++ b/dev-assist/build.gradle @@ -33,7 +33,7 @@ patchPluginXml { "
- filter list" + "
- import and export configuration file" sinceBuild = "221.*" - untilBuild = "233.*" + untilBuild = "242.*" } runIde { From ad2cd071081549a13e6747af4fe754afbd46c229 Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 7 May 2024 09:41:03 +0200 Subject: [PATCH 49/54] Bump the XML and Coverage doclets versions to 3.3.1 --- swan-cmd/pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/swan-cmd/pom.xml b/swan-cmd/pom.xml index 078dbd0..e3292d2 100644 --- a/swan-cmd/pom.xml +++ b/swan-cmd/pom.xml @@ -139,12 +139,12 @@ de.fraunhofer.iem coverage-doclet - 1.1 + 3.3.1 - de.fraunhofer.iem.doclet + de.fraunhofer.iem xml-doclet - 1.4 + 3.3.1 From 023a9e0cd4b8c9d7826461386098df2ac71593d9 Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 7 May 2024 09:49:10 +0200 Subject: [PATCH 50/54] Fix platform dependency issue with File.separator --- .../java/de/fraunhofer/iem/swan/cli/SwanCli.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java index 97c42cc..5615e69 100644 --- a/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java +++ b/swan-cmd/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java @@ -1,15 +1,12 @@ package de.fraunhofer.iem.swan.cli; import de.fraunhofer.iem.swan.SwanPipeline; -import de.fraunhofer.iem.swan.model.ModelEvaluator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.File; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import java.util.Objects; import java.util.concurrent.CancellationException; /** @@ -46,15 +43,18 @@ public Integer run(SwanOptions options) throws Exception { for (String feature : options.getFeatureSet()) { - String filepath = File.separator + "dataset" + File.separator + options.getToolkit().toLowerCase() - + File.separator; + String filepath = "/dataset/" + options.getToolkit().toLowerCase() + "/"; if (options.getToolkit().toLowerCase().contentEquals("meka")) { - instances.add(fileUtility.getResourceFile(filepath + options.getToolkit().toLowerCase() + "-" + feature + ".arff", + + instances.add(fileUtility.getResourceFile(filepath + + options.getToolkit().toLowerCase() + "-" + feature + ".arff", null).getAbsolutePath()); } else { for (String srm : options.getAllClasses()) { - instances.add(fileUtility.getResourceFile(filepath + feature + File.separator + srm + ".arff", + + instances.add(fileUtility.getResourceFile(filepath + + feature + "/" + srm + ".arff", null).getAbsolutePath()); } } From 61d6fb9e25409cb944828dd30943712e9a18a138 Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 7 May 2024 09:57:45 +0200 Subject: [PATCH 51/54] Disable toolkit button group in SettingsDialog --- .../analysis/SwanBackgroundTask.java | 4 +-- .../devassist/ui/dialog/SettingsDialog.java | 29 ++++++++++--------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/dev-assist/src/main/java/de/fraunhofer/iem/devassist/analysis/SwanBackgroundTask.java b/dev-assist/src/main/java/de/fraunhofer/iem/devassist/analysis/SwanBackgroundTask.java index 67a137f..36f676b 100644 --- a/dev-assist/src/main/java/de/fraunhofer/iem/devassist/analysis/SwanBackgroundTask.java +++ b/dev-assist/src/main/java/de/fraunhofer/iem/devassist/analysis/SwanBackgroundTask.java @@ -43,10 +43,10 @@ public void run(@NotNull ProgressIndicator indicator) { indicator.setText("Configuring SWAN"); SwanOptions options = new CliRunner().initializeOptions(); - options.setTestDataDir(Objects.requireNonNull(PropertiesComponent.getInstance(project).getValue(Constants.SOURCE_DIRECTORY))); options.setOutputDir(Objects.requireNonNull(PropertiesComponent.getInstance(project).getValue(Constants.OUTPUT_DIRECTORY))); - options.setToolkit(Objects.requireNonNull(PropertiesComponent.getInstance(project).getValue(Constants.TOOLKIT)).toLowerCase()); + options.setToolkit("meka"); + options.setFeatureSet(Collections.singletonList("code")); options.setSrmClasses(List.of("all")); options.setPhase("predict"); options.setTrainDataDir(""); diff --git a/dev-assist/src/main/java/de/fraunhofer/iem/devassist/ui/dialog/SettingsDialog.java b/dev-assist/src/main/java/de/fraunhofer/iem/devassist/ui/dialog/SettingsDialog.java index 07ed018..c2bdaca 100644 --- a/dev-assist/src/main/java/de/fraunhofer/iem/devassist/ui/dialog/SettingsDialog.java +++ b/dev-assist/src/main/java/de/fraunhofer/iem/devassist/ui/dialog/SettingsDialog.java @@ -67,14 +67,16 @@ public SettingsDialog(Project project, boolean modal) { super(project, modal); trainingPathCheckbox.setVisible(false); trainingPanel.setVisible(false); + toolkitPanel.setVisible(false); this.project = project; resourceBundle = ResourceBundle.getBundle("dialog_messages"); setTitle(resourceBundle.getString("SettingsDialog.Title")); - toolkitButtonGroup = new ButtonGroup(); mekaRadioButton.setActionCommand("meka"); - toolkitButtonGroup.add(mekaRadioButton); wekaRadioButton.setActionCommand("weka"); + + toolkitButtonGroup = new ButtonGroup(); + toolkitButtonGroup.add(mekaRadioButton); toolkitButtonGroup.add(wekaRadioButton); config = new Properties(); @@ -206,25 +208,24 @@ protected void doOKAction() { .createHtmlTextBalloonBuilder(resourceBundle.getString("Messages.Error.PathNotFound"), MessageType.ERROR, null) .createBalloon() .show(JBPopupFactory.getInstance().guessBestPopupLocation(sourceDirTextbox), Balloon.Position.below); - } else if (outputDir.getText().isEmpty()){ + } else if (outputDir.getText().isEmpty()) { JBPopupFactory.getInstance() .createHtmlTextBalloonBuilder(resourceBundle.getString("Messages.Error.PathNotFound"), MessageType.ERROR, null) .createBalloon() .show(JBPopupFactory.getInstance().guessBestPopupLocation(outputDir), Balloon.Position.below); - } else if (trainingPathCheckbox.isSelected() && trainingTextbox.getText().isEmpty()) { - - JBPopupFactory.getInstance() - .createHtmlTextBalloonBuilder(resourceBundle.getString("Messages.Error.PathNotFound"), MessageType.ERROR, null) - .createBalloon() - .show(JBPopupFactory.getInstance().guessBestPopupLocation(trainingPathCheckbox), Balloon.Position.below); - } else { + } else if (trainingPathCheckbox.isSelected() && trainingTextbox.getText().isEmpty()) { - setParameters(); - //Notification analysisCompleted = new Notification(Constants.PLUGIN_GROUP_DISPLAY_ID, "Starting Analysis", "Analysis completed", NotificationType.INFORMATION); - //analysisCompleted.notify(); + JBPopupFactory.getInstance() + .createHtmlTextBalloonBuilder(resourceBundle.getString("Messages.Error.PathNotFound"), MessageType.ERROR, null) + .createBalloon() + .show(JBPopupFactory.getInstance().guessBestPopupLocation(trainingPathCheckbox), Balloon.Position.below); + } else { + setParameters(); + //Notification analysisCompleted = new Notification(Constants.PLUGIN_GROUP_DISPLAY_ID, "Starting Analysis", "Analysis completed", NotificationType.INFORMATION); + //analysisCompleted.notify(); + } } } -} private void setParameters() { From 8614e60a913f0c8966bae9b600cb7a3331c8b09f Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 7 May 2024 10:14:17 +0200 Subject: [PATCH 52/54] Update SRM completion notification type and text --- .../devassist/analysis/SwanBackgroundTask.java | 16 +++++++++------- .../iem/devassist/ui/MethodListTree.java | 10 ++++++---- .../src/main/resources/META-INF/plugin.xml | 1 + 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/dev-assist/src/main/java/de/fraunhofer/iem/devassist/analysis/SwanBackgroundTask.java b/dev-assist/src/main/java/de/fraunhofer/iem/devassist/analysis/SwanBackgroundTask.java index 36f676b..0af99f5 100644 --- a/dev-assist/src/main/java/de/fraunhofer/iem/devassist/analysis/SwanBackgroundTask.java +++ b/dev-assist/src/main/java/de/fraunhofer/iem/devassist/analysis/SwanBackgroundTask.java @@ -21,9 +21,7 @@ import java.io.IOException; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; -import java.util.HashMap; -import java.util.List; -import java.util.Objects; +import java.util.*; public class SwanBackgroundTask extends Task.Backgroundable { @@ -61,9 +59,8 @@ public void run(@NotNull ProgressIndicator indicator) { throw new RuntimeException(e); } - duration = System.currentTimeMillis() - start; - int m = (int) (((duration / 1000) / 60) % 60); - int s = (int) ((duration / 1000) % 60); + duration = (int) ((System.currentTimeMillis() - start)/ 1000); + indicator.setText("Exporting SRMs"); String filename = Objects.requireNonNull(PropertiesComponent.getInstance(project).getValue(Constants.OUTPUT_DIRECTORY)) + File.separator + "srm-" + getCurrentTimestamp() + ".json"; @@ -80,8 +77,13 @@ public void run(@NotNull ProgressIndicator indicator) { PropertiesComponent.getInstance(project).setValue(Constants.LAST_SRM_LIST, filename); results.put(Constants.OUTPUT_FILE, filename); + File outputFile = new File(filename); + results.put(Constants.OUTPUT_LOG, ""); - results.put(Constants.ANALYSIS_RESULT, srmList.getMethods().size() + " methods found in " + m + " mins " + s + " secs"); + results.put(Constants.ANALYSIS_RESULT, + srmList.getMethods().stream().filter(n -> !n.isKnown()).count() + + " SRMs found in " + duration + "s and exported to " + + outputFile.getName()); MessageBus messageBus = project.getMessageBus(); SwanNotifier publisher = messageBus.syncPublisher(SwanNotifier.END_SWAN_PROCESS_TOPIC); diff --git a/dev-assist/src/main/java/de/fraunhofer/iem/devassist/ui/MethodListTree.java b/dev-assist/src/main/java/de/fraunhofer/iem/devassist/ui/MethodListTree.java index 7c12c83..d170c2b 100644 --- a/dev-assist/src/main/java/de/fraunhofer/iem/devassist/ui/MethodListTree.java +++ b/dev-assist/src/main/java/de/fraunhofer/iem/devassist/ui/MethodListTree.java @@ -375,8 +375,10 @@ public void launchSwan(HashMap values) { JSONFileLoader.setReloading(false); - String notificationContent = "SRM List updated"; - NotificationGroupManager.getInstance().getNotificationGroup("Process_Completed").createNotification(notificationContent, NotificationType.INFORMATION).notify(project); + NotificationGroupManager.getInstance() + .getNotificationGroup("SRM Notification") + .createNotification(values.get(Constants.ANALYSIS_RESULT), NotificationType.INFORMATION) + .notify(project); ConfigurationFileNotifier fileNotifier = bus.syncPublisher(ConfigurationFileNotifier.FILE_NOTIFIER_TOPIC); fileNotifier.loadUpdatedFile(values.get(Constants.OUTPUT_FILE)); @@ -585,7 +587,7 @@ private void loadMethods() { if (method.getMethod().isKnown()) { method.setTrainingMethod(true); standardSrms.add(classNode); - }else{ + } else { currentProject.add(classNode); } } @@ -597,7 +599,7 @@ private void loadMethods() { currentProject.setUserObject("" + project.getName() + " (" + currentProject.getLeafCount() + " in " + currentProject.getChildCount() + " classes)"); root.add(currentProject); - standardSrms.setUserObject("Known SRMs (" + standardSrms.getLeafCount() + " in " + standardSrms.getChildCount()+ " classes)"); + standardSrms.setUserObject("Known SRMs (" + standardSrms.getLeafCount() + " in " + standardSrms.getChildCount() + " classes)"); root.add(standardSrms); treeModel.setRoot(root); diff --git a/dev-assist/src/main/resources/META-INF/plugin.xml b/dev-assist/src/main/resources/META-INF/plugin.xml index 2ebd745..1b9bbb7 100644 --- a/dev-assist/src/main/resources/META-INF/plugin.xml +++ b/dev-assist/src/main/resources/META-INF/plugin.xml @@ -23,6 +23,7 @@ implementationClass="de.fraunhofer.iem.devassist.ui.markers.ErrorLineMarker"/> + From 3d6fb24ec4d50c9712f73dc4582d370dc51a47fb Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 7 May 2024 10:46:09 +0200 Subject: [PATCH 53/54] Add action and background task for running SecuCheck --- .../devassist/actions/RunSecucheckAction.java | 45 +++++++++++++++++++ .../analysis/SecucheckBackgroundTask.java | 35 +++++++++------ .../iem/devassist/util/Constants.java | 1 + 3 files changed, 67 insertions(+), 14 deletions(-) create mode 100644 dev-assist/src/main/java/de/fraunhofer/iem/devassist/actions/RunSecucheckAction.java diff --git a/dev-assist/src/main/java/de/fraunhofer/iem/devassist/actions/RunSecucheckAction.java b/dev-assist/src/main/java/de/fraunhofer/iem/devassist/actions/RunSecucheckAction.java new file mode 100644 index 0000000..b80f6e1 --- /dev/null +++ b/dev-assist/src/main/java/de/fraunhofer/iem/devassist/actions/RunSecucheckAction.java @@ -0,0 +1,45 @@ +package de.fraunhofer.iem.devassist.actions; + +import com.intellij.ide.util.PropertiesComponent; +import com.intellij.openapi.actionSystem.AnAction; +import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.actionSystem.CommonDataKeys; +import com.intellij.openapi.progress.PerformInBackgroundOption; +import com.intellij.openapi.progress.ProgressManager; +import com.intellij.openapi.project.Project; +import de.fraunhofer.iem.devassist.analysis.SecucheckBackgroundTask; +import de.fraunhofer.iem.devassist.comm.SecucheckNotifier; +import de.fraunhofer.iem.devassist.util.Constants; +import org.jetbrains.annotations.NotNull; + +import java.io.File; +import java.util.Objects; + +public class RunSecucheckAction extends AnAction { + + @Override + public void actionPerformed(@NotNull AnActionEvent e) { + final Project project = e.getRequiredData(CommonDataKeys.PROJECT); + + if (!PropertiesComponent.getInstance(project).isTrueValue(Constants.SWAN_SETTINGS)) { + e.getActionManager().getAction("Dev_Assist.SettingsAction").actionPerformed(e); + //TODO Run SWAN if the tool has been configured + } else { + runSecucheck(project); + } + } + + public void runSecucheck(Project project) { + + File outputFolder = new File(Objects.requireNonNull(PropertiesComponent.getInstance(project).getValue(Constants.OUTPUT_DIRECTORY))); + + if (!outputFolder.exists()) + outputFolder.mkdir(); + + ProgressManager.getInstance().run(new SecucheckBackgroundTask(project, "Running Taint Analysis", true, + PerformInBackgroundOption.ALWAYS_BACKGROUND)); + + SecucheckNotifier publisher = project.getMessageBus().syncPublisher(SecucheckNotifier.START_SECUCHECK_PROCESS_TOPIC); + publisher.launchSecuCheck(); + } +} diff --git a/dev-assist/src/main/java/de/fraunhofer/iem/devassist/analysis/SecucheckBackgroundTask.java b/dev-assist/src/main/java/de/fraunhofer/iem/devassist/analysis/SecucheckBackgroundTask.java index abb7f20..223bae7 100644 --- a/dev-assist/src/main/java/de/fraunhofer/iem/devassist/analysis/SecucheckBackgroundTask.java +++ b/dev-assist/src/main/java/de/fraunhofer/iem/devassist/analysis/SecucheckBackgroundTask.java @@ -1,18 +1,24 @@ package de.fraunhofer.iem.devassist.analysis; +import com.intellij.ide.util.PropertiesComponent; import com.intellij.openapi.progress.PerformInBackgroundOption; import com.intellij.openapi.progress.ProgressIndicator; import com.intellij.openapi.progress.Task; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.NlsContexts; import com.intellij.util.messages.MessageBus; +import de.fraunhofer.iem.aidevassist.sa.cli.AIDevAssistCli; +import de.fraunhofer.iem.aidevassist.sa.cli.CliRunner; import de.fraunhofer.iem.devassist.comm.SecucheckNotifier; +import de.fraunhofer.iem.devassist.util.Constants; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import picocli.CommandLine; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.HashMap; +import java.util.Objects; import java.util.concurrent.TimeUnit; public class SecucheckBackgroundTask extends Task.Backgroundable { @@ -31,24 +37,25 @@ public void run(@NotNull ProgressIndicator indicator) { long start = System.currentTimeMillis(); - //TODO add implementation to run SecuCheck - indicator.setText("Generating fluentTQL Specifications"); - indicator.setText("Configuring SecuCheck"); - try { - TimeUnit.SECONDS.sleep(2); - } catch (InterruptedException e) { - throw new RuntimeException(e); - } - indicator.setText("Configuring analysis"); + String[] args = new String[]{ + "--analysis", "0", + Objects.requireNonNull(PropertiesComponent.getInstance(project).getValue(Constants.SOURCE_DIRECTORY)), + "--output", Objects.requireNonNull(PropertiesComponent.getInstance(project).getValue(Constants.OUTPUT_DIRECTORY)), + "--inclusion", "*", + "--entry", "*"}; + + CliRunner cliRunner = new CliRunner(args); + CommandLine.ParseResult cmd = new CommandLine(cliRunner).parseArgs(args); + + indicator.setText("Running analysis"); - try { - TimeUnit.SECONDS.sleep(2); - } catch (InterruptedException e) { - throw new RuntimeException(e); + if (cmd.errors().isEmpty()) { + AIDevAssistCli cli = new AIDevAssistCli(); + cli.run(cliRunner.createOptions()); + PropertiesComponent.getInstance(project).setValue(Constants.LAST_SARIF_FILE, cli.getResults().getResultFile()); } - indicator.setText("Exporting analysis results"); MessageBus messageBus = project.getMessageBus(); SecucheckNotifier publisher = messageBus.syncPublisher(SecucheckNotifier.END_SECUCHECK_PROCESS_TOPIC); diff --git a/dev-assist/src/main/java/de/fraunhofer/iem/devassist/util/Constants.java b/dev-assist/src/main/java/de/fraunhofer/iem/devassist/util/Constants.java index 678a280..3ed1298 100644 --- a/dev-assist/src/main/java/de/fraunhofer/iem/devassist/util/Constants.java +++ b/dev-assist/src/main/java/de/fraunhofer/iem/devassist/util/Constants.java @@ -25,6 +25,7 @@ public class Constants { public final static String SOURCE_DIRECTORY = PLUGIN_ID + "projectJarFiles"; //Test Library (or the project) public final static String CONFIGURATION_FILE = PLUGIN_ID + "configurationFile"; public final static String LAST_SRM_LIST = PLUGIN_ID + "lastSrmList"; + public final static String LAST_SARIF_FILE = PLUGIN_ID + "lastSarifFile"; public final static String SWAN_SETTINGS = PLUGIN_ID + "projectConfigured"; public final static String OUTPUT_DIRECTORY = PLUGIN_ID + "outputPath"; public final static String OUTPUT_FILE = PLUGIN_ID + "outputFile"; From 8081d8d51b87085f2fbdbf5f995b75945b92276e Mon Sep 17 00:00:00 2001 From: oshando Date: Tue, 7 May 2024 10:48:23 +0200 Subject: [PATCH 54/54] Update SecuCheck notification with action to open SARIF file --- .../iem/devassist/ui/MethodListTree.java | 21 +++++++++++++++++-- .../src/main/resources/META-INF/plugin.xml | 2 +- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/dev-assist/src/main/java/de/fraunhofer/iem/devassist/ui/MethodListTree.java b/dev-assist/src/main/java/de/fraunhofer/iem/devassist/ui/MethodListTree.java index d170c2b..4621cfd 100644 --- a/dev-assist/src/main/java/de/fraunhofer/iem/devassist/ui/MethodListTree.java +++ b/dev-assist/src/main/java/de/fraunhofer/iem/devassist/ui/MethodListTree.java @@ -12,6 +12,7 @@ import com.intellij.notification.*; import com.intellij.openapi.actionSystem.ActionManager; import com.intellij.openapi.actionSystem.ActionPopupMenu; +import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.editor.Document; import com.intellij.openapi.fileEditor.*; @@ -54,6 +55,7 @@ import java.awt.event.KeyListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; +import java.io.File; import java.text.DecimalFormat; import java.util.*; @@ -389,8 +391,23 @@ public void launchSwan(HashMap values) { bus.connect().subscribe(SecucheckNotifier.END_SECUCHECK_PROCESS_TOPIC, new SecucheckNotifier() { @Override public void launchSecuCheck() { - String notificationContent = "SecuCheck results exported to "+PropertiesComponent.getInstance(project).getValue(Constants.OUTPUT_DIRECTORY); - NotificationGroupManager.getInstance().getNotificationGroup("Process_Completed").createNotification(notificationContent, NotificationType.INFORMATION).notify(project); + String notificationContent = "Taint analysis results exported successfully."; + NotificationGroupManager.getInstance() + .getNotificationGroup("Analysis Notification") + .createNotification(notificationContent, NotificationType.INFORMATION) + .addAction(new NotificationAction("Open Results") { + @Override + public void actionPerformed(@NotNull AnActionEvent anActionEvent, @NotNull Notification notification) { + + File results = new File(Objects.requireNonNull(PropertiesComponent.getInstance(project).getValue(Constants.LAST_SARIF_FILE))); + Optional file = FilenameIndex + .getVirtualFilesByName(results.getName(), + GlobalSearchScope.projectScope(project)).stream().findFirst(); + + file.ifPresent(virtualFile -> new OpenFileDescriptor(project, virtualFile).navigate(true)); + } + }) + .notify(project); } }); diff --git a/dev-assist/src/main/resources/META-INF/plugin.xml b/dev-assist/src/main/resources/META-INF/plugin.xml index 1b9bbb7..58b4fa4 100644 --- a/dev-assist/src/main/resources/META-INF/plugin.xml +++ b/dev-assist/src/main/resources/META-INF/plugin.xml @@ -22,8 +22,8 @@ - +