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
diff --git a/src/.gradle/file-system.probe b/src/.gradle/file-system.probe
index 25bf1ac298e611b3335f11a35b0f314466271a76..61dc01f5598ec09ca2b7e9cc7952eb45057daee0 100644
GIT binary patch
literal 8
PcmZQzVC=45nf(v|2x9{M
literal 8
PcmZQzVC=50dE5;E2zCPU
diff --git a/src/.gradle/vcs-1/gc.properties b/src/.gradle/vcs-1/gc.properties
new file mode 100644
index 0000000..e69de29
diff --git a/src/.idea/gradle.xml b/src/.idea/gradle.xml
index c7b43a0..038e045 100644
--- a/src/.idea/gradle.xml
+++ b/src/.idea/gradle.xml
@@ -1,22 +1,16 @@
-
-<<<<<<< HEAD
-=======
-
-
->>>>>>> develop
\ No newline at end of file
diff --git a/src/.idea/modules.xml b/src/.idea/modules.xml
index ee2bce2..f669a0e 100644
--- a/src/.idea/modules.xml
+++ b/src/.idea/modules.xml
@@ -2,7 +2,7 @@
-
+
\ No newline at end of file
diff --git a/src/.idea/modules/Notes2.src.iml b/src/.idea/modules/Notes2.src.iml
index 6ac0412..e649f46 100644
--- a/src/.idea/modules/Notes2.src.iml
+++ b/src/.idea/modules/Notes2.src.iml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/src/.idea/modules/app/src.app.androidTest.iml b/src/.idea/modules/app/src.app.androidTest.iml
deleted file mode 100644
index 252a99c..0000000
--- a/src/.idea/modules/app/src.app.androidTest.iml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/.idea/modules/app/src.app.iml b/src/.idea/modules/app/src.app.iml
deleted file mode 100644
index bb8bb1f..0000000
--- a/src/.idea/modules/app/src.app.iml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/.idea/modules/app/src.app.main.iml b/src/.idea/modules/app/src.app.main.iml
deleted file mode 100644
index c1c229e..0000000
--- a/src/.idea/modules/app/src.app.main.iml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/.idea/modules/app/src.app.unitTest.iml b/src/.idea/modules/app/src.app.unitTest.iml
deleted file mode 100644
index b48e83c..0000000
--- a/src/.idea/modules/app/src.app.unitTest.iml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/.idea/workspace.xml b/src/.idea/workspace.xml
index 293394f..374ddf6 100644
--- a/src/.idea/workspace.xml
+++ b/src/.idea/workspace.xml
@@ -4,7 +4,16 @@
-
+
+
+
+
+
+
+
+
+
+
@@ -16,7 +25,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/gradle/wrapper/gradle-wrapper.properties b/src/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000..62f495d
--- /dev/null
+++ b/src/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,7 @@
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
diff --git a/src/gradlew b/src/gradlew
new file mode 100644
index 0000000..fcb6fca
--- /dev/null
+++ b/src/gradlew
@@ -0,0 +1,248 @@
+#!/bin/sh
+
+#
+# Copyright © 2015-2021 the original authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+##############################################################################
+#
+# Gradle start up script for POSIX generated by Gradle.
+#
+# Important for running:
+#
+# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
+# noncompliant, but you have some other compliant shell such as ksh or
+# bash, then to run this script, type that shell name before the whole
+# command line, like:
+#
+# ksh Gradle
+#
+# Busybox and similar reduced shells will NOT work, because this script
+# requires all of these POSIX shell features:
+# * functions;
+# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
+# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
+# * compound commands having a testable exit status, especially «case»;
+# * various built-in commands including «command», «set», and «ulimit».
+#
+# Important for patching:
+#
+# (2) This script targets any POSIX shell, so it avoids extensions provided
+# by Bash, Ksh, etc; in particular arrays are avoided.
+#
+# The "traditional" practice of packing multiple parameters into a
+# space-separated string is a well documented source of bugs and security
+# problems, so this is (mostly) avoided, by progressively accumulating
+# options in "$@", and eventually passing that to Java.
+#
+# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
+# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
+# see the in-line comments for details.
+#
+# There are tweaks for specific operating systems such as AIX, CygWin,
+# Darwin, MinGW, and NonStop.
+#
+# (3) This script is generated from the Groovy template
+# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
+# within the Gradle project.
+#
+# You can find Gradle at https://github.com/gradle/gradle/.
+#
+##############################################################################
+
+# Attempt to set APP_HOME
+
+# Resolve links: $0 may be a link
+app_path=$0
+
+# Need this for daisy-chained symlinks.
+while
+ APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
+ [ -h "$app_path" ]
+do
+ ls=$( ls -ld "$app_path" )
+ link=${ls#*' -> '}
+ case $link in #(
+ /*) app_path=$link ;; #(
+ *) app_path=$APP_HOME$link ;;
+ esac
+done
+
+# This is normally unused
+# shellcheck disable=SC2034
+APP_BASE_NAME=${0##*/}
+APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD=maximum
+
+warn () {
+ echo "$*"
+} >&2
+
+die () {
+ echo
+ echo "$*"
+ echo
+ exit 1
+} >&2
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "$( uname )" in #(
+ CYGWIN* ) cygwin=true ;; #(
+ Darwin* ) darwin=true ;; #(
+ MSYS* | MINGW* ) msys=true ;; #(
+ NONSTOP* ) nonstop=true ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD=$JAVA_HOME/jre/sh/java
+ else
+ JAVACMD=$JAVA_HOME/bin/java
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD=java
+ if ! command -v java >/dev/null 2>&1
+ then
+ die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+fi
+
+# Increase the maximum file descriptors if we can.
+if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
+ case $MAX_FD in #(
+ max*)
+ # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
+ # shellcheck disable=SC3045
+ MAX_FD=$( ulimit -H -n ) ||
+ warn "Could not query maximum file descriptor limit"
+ esac
+ case $MAX_FD in #(
+ '' | soft) :;; #(
+ *)
+ # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
+ # shellcheck disable=SC3045
+ ulimit -n "$MAX_FD" ||
+ warn "Could not set maximum file descriptor limit to $MAX_FD"
+ esac
+fi
+
+# Collect all arguments for the java command, stacking in reverse order:
+# * args from the command line
+# * the main class name
+# * -classpath
+# * -D...appname settings
+# * --module-path (only if needed)
+# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
+
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if "$cygwin" || "$msys" ; then
+ APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
+ CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
+
+ JAVACMD=$( cygpath --unix "$JAVACMD" )
+
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ for arg do
+ if
+ case $arg in #(
+ -*) false ;; # don't mess with options #(
+ /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
+ [ -e "$t" ] ;; #(
+ *) false ;;
+ esac
+ then
+ arg=$( cygpath --path --ignore --mixed "$arg" )
+ fi
+ # Roll the args list around exactly as many times as the number of
+ # args, so each arg winds up back in the position where it started, but
+ # possibly modified.
+ #
+ # NB: a `for` loop captures its iteration list before it begins, so
+ # changing the positional parameters here affects neither the number of
+ # iterations, nor the values presented in `arg`.
+ shift # remove old arg
+ set -- "$@" "$arg" # push replacement arg
+ done
+fi
+
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
+# Collect all arguments for the java command;
+# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
+# shell script including quotes and variable substitutions, so put them in
+# double quotes to make sure that they get re-expanded; and
+# * put everything else in single quotes, so that it's not re-expanded.
+
+set -- \
+ "-Dorg.gradle.appname=$APP_BASE_NAME" \
+ -classpath "$CLASSPATH" \
+ org.gradle.wrapper.GradleWrapperMain \
+ "$@"
+
+# Stop when "xargs" is not available.
+if ! command -v xargs >/dev/null 2>&1
+then
+ die "xargs is not available"
+fi
+
+# Use "xargs" to parse quoted args.
+#
+# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
+#
+# In Bash we could simply go:
+#
+# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
+# set -- "${ARGS[@]}" "$@"
+#
+# but POSIX shell has neither arrays nor command substitution, so instead we
+# post-process each arg (as a line of input to sed) to backslash-escape any
+# character that might be a shell metacharacter, then use eval to reverse
+# that process (while maintaining the separation between arguments), and wrap
+# the whole thing up as a single "set" statement.
+#
+# This will of course break if any of these variables contains a newline or
+# an unmatched quote.
+#
+
+eval "set -- $(
+ printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
+ xargs -n1 |
+ sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
+ tr '\n' ' '
+ )" '"$@"'
+
+exec "$JAVACMD" "$@"
diff --git a/src/gradlew.bat b/src/gradlew.bat
new file mode 100644
index 0000000..93e3f59
--- /dev/null
+++ b/src/gradlew.bat
@@ -0,0 +1,92 @@
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+
+@if "%DEBUG%"=="" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%"=="" set DIRNAME=.
+@rem This is normally unused
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Resolve any "." and ".." in APP_HOME to make it shorter.
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if %ERRORLEVEL% equ 0 goto execute
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto execute
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
+
+:end
+@rem End local scope for the variables with windows NT shell
+if %ERRORLEVEL% equ 0 goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+set EXIT_CODE=%ERRORLEVEL%
+if %EXIT_CODE% equ 0 set EXIT_CODE=1
+if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
+exit /b %EXIT_CODE%
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega