commit e66978155d3d30bbfbdf7f00a320c0e782274e0e Author: Layue13 Date: Sun Oct 11 03:40:40 2026 -0700 Thaumic Additions 0.41 (1.7.10):从 jar 反编译的源码和 GTNH 约定的 Gradle 构建 来源 jar:[1.7.10] Thaumic Additions - 0.41.jar(liuhao/liangzishidai)。 反编译 307 个类(Fernflower,0 失败),资源 281 个;未编译验证。 Co-Authored-By: Claude Sonnet 5.5 diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml new file mode 100644 index 0000000..0afc070 --- /dev/null +++ b/.gitea/workflows/build.yml @@ -0,0 +1,62 @@ +name: Build + +on: + push: + branches: [main] + workflow_dispatch: + inputs: + module-ref: + description: Commit to build (default is the dispatched ref) + required: false + default: '' + gradle-args: + description: Extra Gradle arguments + required: false + default: '' + publish: + description: Publish the package ('true' or 'false') + required: false + default: 'false' + +jobs: + build: + runs-on: ubuntu-latest + timeout-minutes: 90 + env: + GRADLE_USER_HOME: ${{ github.workspace }}/.gradle-ci + ARTIFACT_GROUP_ID: uk.potatolab + MAVEN_USER: ${{ secrets.MAVEN_USER }} + MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }} + ORG_GRADLE_PROJECT_tdlmUsername: ${{ secrets.MAVEN_USER }} + ORG_GRADLE_PROJECT_tdlmPassword: ${{ secrets.MAVEN_PASSWORD }} + steps: + - uses: https://git.potatolab.uk/actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 + with: + ref: ${{ inputs.module-ref || github.sha }} + fetch-depth: 0 # the package version is derived from git history + + - uses: https://git.potatolab.uk/actions/setup-java@de7274f081f381c8f8158605e0321c36c376e2e6 + with: + distribution: zulu + java-version: '25' + cache-jdk: true + + - uses: https://git.potatolab.uk/actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 + with: + path: ~/.gradle/jdks + key: gradle-toolchains-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('**/*.gradle', '**/gradle.properties', '**/gradle-wrapper.properties') }} + restore-keys: gradle-toolchains-${{ runner.os }}-${{ runner.arch }}- + + - uses: https://git.potatolab.uk/actions/gradle-actions/setup-gradle@9c971963bec38e04b3d30dcc455b5382be2fdbfb + with: + cache-provider: basic + + - name: Build + env: + PUBLISH: ${{ github.event_name == 'push' || inputs.publish == 'true' }} + GRADLE_ARGS: ${{ inputs.gradle-args }} + run: | + tasks=(build) + [[ "$PUBLISH" == 'true' ]] && tasks+=(publish) + read -r -a extra <<< "$GRADLE_ARGS" + bash ./gradlew "${tasks[@]}" "${extra[@]}" --no-daemon --console=plain diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1f139df --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +build/ +run/ + +.gradle/ diff --git a/ORIGINAL_JAR.txt b/ORIGINAL_JAR.txt new file mode 100644 index 0000000..90458c4 --- /dev/null +++ b/ORIGINAL_JAR.txt @@ -0,0 +1 @@ +[1.7.10] Thaumic Additions - 0.41.jar diff --git a/README.md b/README.md new file mode 100644 index 0000000..43ddf36 --- /dev/null +++ b/README.md @@ -0,0 +1,23 @@ +# ThaumicAdditions-decompiled + +Decompiled source tree derived from `[1.7.10] Thaumic Additions - 0.41.jar` (from `liuhao/liangzishidai`, `main`). + +- Mod id: `thaumicadditions`, version `0.41`, Minecraft 1.7.10, Thaumcraft 4 addon. Package root `com.pengu.thaumcraft`. +- Decompiled Java: `src/main/java` (307 classes, Fernflower, class by class; 0 failures). +- Extracted resources: `src/main/resources` (assets, `mcmod.info`, logo). +- The `cofh.api.*` classes inside the original jar were **not** copied; CoFH API comes from `CoFHCore` (see `dependencies.gradle`). +- `com.mrdimka.api.power.rj` (the "RJ" energy API) was bundled in the original jar and is kept here. +- Source provenance jar, not used by the build; see `ORIGINAL_JAR.txt`. + +Build entries: + +- `./gradlew build` compiles the decompiled sources and resources into `build/libs/` (Gradle wrapper + GTNH convention toolchain, same layout as `balumg`; run with JDK 25). +- `.gitea/workflows/build.yml` builds on push and on dispatch, and can publish to the TDLM Maven. + +Known issues (not fixed on purpose, the decompile is kept faithful): + +- `@Mod(dependencies = ...)` in `TA.java` still has `required-after:particlelib@[1,)`. No class imports ParticleLib, but the dependency string makes FML refuse to load the mod when ParticleLib is missing, and ParticleLib is not in TDLM. +- `guiFactory = "mrdimka.thaumcraft.additions.config.ConfigurationGuiFactory"` points at a package that does not exist in the jar (the original author renamed packages from `mrdimka` to `pengu`); the config GUI factory will not be found. +- `mcmod.info` still says `"version": "???"`. +- The decompiled sources have **not been compiled**. Decompiler output usually needs hand fixes before it builds. +- License of the original mod is unknown. diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..8ee5da2 --- /dev/null +++ b/build.gradle @@ -0,0 +1,29 @@ +plugins { id 'com.gtnewhorizons.gtnhconvention' } + +def gitCommit = providers.exec { + commandLine 'git', 'rev-parse', '--short=7', 'HEAD' +}.standardOutput.asText.get().trim() + +group = 'uk.potatolab' +version = "${providers.gradleProperty('modVersion').get()}-${gitCommit}" + +afterEvaluate { + publishing.publications.named('maven', MavenPublication) { + groupId = project.group + artifactId = 'ThaumicAdditions' + version = project.version + } +} + +repositories { + maven { + name = 'TDLM Maven' + url = 'https://git.nest.potatolab.uk:8443/api/packages/TDLM/maven' + if (System.getenv('MAVEN_USER') && System.getenv('MAVEN_PASSWORD')) { + credentials { + username = System.getenv('MAVEN_USER') + password = System.getenv('MAVEN_PASSWORD') + } + } + } +} diff --git a/decompile.log b/decompile.log new file mode 100644 index 0000000..3d3a13a --- /dev/null +++ b/decompile.log @@ -0,0 +1 @@ +ok=307 bad=0 (Fernflower, 逐类反编译) diff --git a/dependencies.gradle b/dependencies.gradle new file mode 100644 index 0000000..a739a85 --- /dev/null +++ b/dependencies.gradle @@ -0,0 +1,20 @@ +repositories { + mavenLocal() +} +def tdlmDependencyVersion = { String artifact, String fallback -> + project.findProperty('tdlm.dependency.' + artifact.toLowerCase() + '.version') ?: fallback +} + + +dependencies { + // Thaumcraft 4 full dev jar (api + common impl; the sources import thaumcraft.common.* and thaumcraft.client.*) + api("uk.potatolab:Thaumcraft4:${tdlmDependencyVersion('Thaumcraft4', '1.7.10-4.2.3.5-d3ece2a')}") + // cofh.api.energy.IEnergyReceiver is used by TileThaumicGenerator + compileOnly("uk.potatolab:CoFHCore:${tdlmDependencyVersion('CoFHCore', '1.7.10-3.1.4-8449ed9')}") { transitive = false } + // Botania API (com.pengu.thaumcraft.additions.api.others.Botania) + compileOnly("uk.potatolab:Botania:${tdlmDependencyVersion('Botania', '1.13.36-GTNH-722cecf')}:dev") { transitive = false } + // Waila API (com.pengu.thaumcraft.additions.api.others.WAILA) + compileOnly("uk.potatolab:Waila:${tdlmDependencyVersion('Waila', '1.19.30-5462a91')}:api") { transitive = false } + // Baubles is required at runtime (see the @Mod dependencies string); no compile-time import + runtimeOnly("uk.potatolab:Baubles-Expanded:${tdlmDependencyVersion('Baubles-Expanded', '44bd380')}") +} diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..cb7f959 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,18 @@ +modName = Thaumic Additions +modId = thaumicadditions +modGroup = com.pengu.thaumcraft +modVersion = 0.41 +minecraftVersion = 1.7.10 +forgeVersion = 10.13.4.1614 +channel = stable +mappingsVersion = 12 +remoteMappings = https\://raw.githubusercontent.com/MinecraftForge/FML/1.7.10/conf/ +enableModernJavaSyntax = false +enableGenericInjection = false +usesMixins = false +includeWellKnownRepositories = true +disableSpotless = true +disableCheckstyle = true +org.gradle.jvmargs = -Xmx2G +usesMavenPublishing = true +mavenPublishUrl = https://git.nest.potatolab.uk:8443/api/packages/TDLM/maven diff --git a/gradle/gradle-daemon-jvm.properties b/gradle/gradle-daemon-jvm.properties new file mode 100644 index 0000000..1924b05 --- /dev/null +++ b/gradle/gradle-daemon-jvm.properties @@ -0,0 +1,12 @@ +#This file is generated by updateDaemonJvm +toolchainUrl.FREE_BSD.AARCH64=https\://api.foojay.io/disco/v3.0/ids/539ea72837c6244075f8ee037babc29e/redirect +toolchainUrl.FREE_BSD.X86_64=https\://api.foojay.io/disco/v3.0/ids/876dbbf00bf4ef6190f7da074cee903a/redirect +toolchainUrl.LINUX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/539ea72837c6244075f8ee037babc29e/redirect +toolchainUrl.LINUX.X86_64=https\://api.foojay.io/disco/v3.0/ids/876dbbf00bf4ef6190f7da074cee903a/redirect +toolchainUrl.MAC_OS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/9064f22734b42ac03e85df04b632e167/redirect +toolchainUrl.MAC_OS.X86_64=https\://api.foojay.io/disco/v3.0/ids/4d0277c49991306ac78048580fe34bcf/redirect +toolchainUrl.UNIX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/539ea72837c6244075f8ee037babc29e/redirect +toolchainUrl.UNIX.X86_64=https\://api.foojay.io/disco/v3.0/ids/876dbbf00bf4ef6190f7da074cee903a/redirect +toolchainUrl.WINDOWS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/a9fa3b809e484a1e1ac4308a5dda661a/redirect +toolchainUrl.WINDOWS.X86_64=https\://api.foojay.io/disco/v3.0/ids/aa99913fa6d767d899ffc96082da01ca/redirect +toolchainVersion=25 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..d997cfc Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..dbc3ce4 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,7 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.0-bin.zip +networkTimeout=10000 +validateDistributionUrl=true +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100755 index 0000000..0262dcb --- /dev/null +++ b/gradlew @@ -0,0 +1,248 @@ +#!/bin/sh + +# +# Copyright © 2015 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. +# +# SPDX-License-Identifier: Apache-2.0 +# + +############################################################################## +# +# 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/b631911858264c0b6e4d6603d677ff5218766cee/platforms/jvm/plugins-application/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##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || 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 + + + +# 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=SC2039,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=SC2039,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" ) + + 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 optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ + "$@" + +# 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/settings.gradle b/settings.gradle new file mode 100644 index 0000000..a72e025 --- /dev/null +++ b/settings.gradle @@ -0,0 +1,18 @@ +pluginManagement { + repositories { + maven { + name "GTNH Maven" + url "https://nexus.gtnewhorizons.com/repository/public/" + mavenContent { + includeGroup("com.gtnewhorizons") + includeGroupByRegex("com\\.gtnewhorizons\\..+") + } + } + gradlePluginPortal() + mavenCentral() + mavenLocal() + } +} +plugins { id 'com.gtnewhorizons.gtnhsettingsconvention' version '2.0.29' } + +rootProject.name = 'ThaumicAdditions' diff --git a/src/main/java/com/mrdimka/api/power/rj/EnergyStorage.java b/src/main/java/com/mrdimka/api/power/rj/EnergyStorage.java new file mode 100644 index 0000000..074cca7 --- /dev/null +++ b/src/main/java/com/mrdimka/api/power/rj/EnergyStorage.java @@ -0,0 +1,120 @@ +package com.mrdimka.api.power.rj; + +import com.mrdimka.api.power.rj.IRJStorage; +import net.minecraft.nbt.NBTTagCompound; + +public class EnergyStorage implements IRJStorage { + + protected int energy; + protected int capacity; + protected int maxReceive; + protected int maxExtract; + + + public EnergyStorage(int capacity) { + this(capacity, capacity, capacity); + } + + public EnergyStorage(int capacity, int maxTransfer) { + this(capacity, maxTransfer, maxTransfer); + } + + public EnergyStorage(int capacity, int maxReceive, int maxExtract) { + this.capacity = capacity; + this.maxReceive = maxReceive; + this.maxExtract = maxExtract; + } + + public EnergyStorage readFromNBT(NBTTagCompound nbt) { + this.energy = nbt.func_74762_e("Energy"); + if(this.energy > this.capacity) { + this.energy = this.capacity; + } + + return this; + } + + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { + if(this.energy < 0) { + this.energy = 0; + } + + nbt.func_74768_a("Energy", this.energy); + return nbt; + } + + public void setCapacity(int capacity) { + this.capacity = capacity; + if(this.energy > capacity) { + this.energy = capacity; + } + + } + + public void setMaxTransfer(int maxTransfer) { + this.setMaxReceive(maxTransfer); + this.setMaxExtract(maxTransfer); + } + + public void setMaxReceive(int maxReceive) { + this.maxReceive = maxReceive; + } + + public void setMaxExtract(int maxExtract) { + this.maxExtract = maxExtract; + } + + public int getMaxReceive() { + return this.maxReceive; + } + + public int getMaxExtract() { + return this.maxExtract; + } + + public void setEnergyStored(int energy) { + this.energy = energy; + if(this.energy > this.capacity) { + this.energy = this.capacity; + } else if(this.energy < 0) { + this.energy = 0; + } + + } + + public void modifyEnergyStored(int energy) { + this.energy += energy; + if(this.energy > this.capacity) { + this.energy = this.capacity; + } else if(this.energy < 0) { + this.energy = 0; + } + + } + + public int receiveEnergy(int maxReceive, boolean simulate) { + int energyReceived = Math.min(this.capacity - this.energy, Math.min(this.maxReceive, maxReceive)); + if(!simulate) { + this.energy += energyReceived; + } + + return energyReceived; + } + + public int extractEnergy(int maxExtract, boolean simulate) { + int energyExtracted = Math.min(this.energy, Math.min(this.maxExtract, maxExtract)); + if(!simulate) { + this.energy -= energyExtracted; + } + + return energyExtracted; + } + + public int getEnergyStored() { + return this.energy; + } + + public int getMaxEnergyStored() { + return this.capacity; + } +} diff --git a/src/main/java/com/mrdimka/api/power/rj/IRJConnection.java b/src/main/java/com/mrdimka/api/power/rj/IRJConnection.java new file mode 100644 index 0000000..67d962a --- /dev/null +++ b/src/main/java/com/mrdimka/api/power/rj/IRJConnection.java @@ -0,0 +1,8 @@ +package com.mrdimka.api.power.rj; + +import net.minecraftforge.common.util.ForgeDirection; + +public interface IRJConnection { + + boolean canConnectRJ(ForgeDirection var1); +} diff --git a/src/main/java/com/mrdimka/api/power/rj/IRJContainerItem.java b/src/main/java/com/mrdimka/api/power/rj/IRJContainerItem.java new file mode 100644 index 0000000..d662a80 --- /dev/null +++ b/src/main/java/com/mrdimka/api/power/rj/IRJContainerItem.java @@ -0,0 +1,14 @@ +package com.mrdimka.api.power.rj; + +import net.minecraft.item.ItemStack; + +public interface IRJContainerItem { + + int receiveEnergy(ItemStack var1, int var2, boolean var3); + + int extractEnergy(ItemStack var1, int var2, boolean var3); + + int getEnergyStored(ItemStack var1); + + int getMaxEnergyStored(ItemStack var1); +} diff --git a/src/main/java/com/mrdimka/api/power/rj/IRJHandler.java b/src/main/java/com/mrdimka/api/power/rj/IRJHandler.java new file mode 100644 index 0000000..9865dfa --- /dev/null +++ b/src/main/java/com/mrdimka/api/power/rj/IRJHandler.java @@ -0,0 +1,16 @@ +package com.mrdimka.api.power.rj; + +import com.mrdimka.api.power.rj.IRJProvider; +import com.mrdimka.api.power.rj.IRJReceiver; +import net.minecraftforge.common.util.ForgeDirection; + +public interface IRJHandler extends IRJProvider, IRJReceiver { + + int receiveRJ(ForgeDirection var1, int var2, boolean var3); + + int extractRJ(ForgeDirection var1, int var2, boolean var3); + + int getRJStored(ForgeDirection var1); + + int getMaxRJStored(ForgeDirection var1); +} diff --git a/src/main/java/com/mrdimka/api/power/rj/IRJProvider.java b/src/main/java/com/mrdimka/api/power/rj/IRJProvider.java new file mode 100644 index 0000000..dcb3692 --- /dev/null +++ b/src/main/java/com/mrdimka/api/power/rj/IRJProvider.java @@ -0,0 +1,12 @@ +package com.mrdimka.api.power.rj; + +import net.minecraftforge.common.util.ForgeDirection; + +public interface IRJProvider { + + int extractRJ(ForgeDirection var1, int var2, boolean var3); + + int getRJStored(ForgeDirection var1); + + int getMaxRJStored(ForgeDirection var1); +} diff --git a/src/main/java/com/mrdimka/api/power/rj/IRJReceiver.java b/src/main/java/com/mrdimka/api/power/rj/IRJReceiver.java new file mode 100644 index 0000000..c7d5a84 --- /dev/null +++ b/src/main/java/com/mrdimka/api/power/rj/IRJReceiver.java @@ -0,0 +1,13 @@ +package com.mrdimka.api.power.rj; + +import com.mrdimka.api.power.rj.IRJConnection; +import net.minecraftforge.common.util.ForgeDirection; + +public interface IRJReceiver extends IRJConnection { + + int receiveRJ(ForgeDirection var1, int var2, boolean var3); + + int getRJStored(ForgeDirection var1); + + int getMaxRJStored(ForgeDirection var1); +} diff --git a/src/main/java/com/mrdimka/api/power/rj/IRJStorage.java b/src/main/java/com/mrdimka/api/power/rj/IRJStorage.java new file mode 100644 index 0000000..c8599d5 --- /dev/null +++ b/src/main/java/com/mrdimka/api/power/rj/IRJStorage.java @@ -0,0 +1,13 @@ +package com.mrdimka.api.power.rj; + + +public interface IRJStorage { + + int receiveEnergy(int var1, boolean var2); + + int extractEnergy(int var1, boolean var2); + + int getEnergyStored(); + + int getMaxEnergyStored(); +} diff --git a/src/main/java/com/mrdimka/api/power/rj/ItemRJContainer.java b/src/main/java/com/mrdimka/api/power/rj/ItemRJContainer.java new file mode 100644 index 0000000..8275041 --- /dev/null +++ b/src/main/java/com/mrdimka/api/power/rj/ItemRJContainer.java @@ -0,0 +1,86 @@ +package com.mrdimka.api.power.rj; + +import com.mrdimka.api.power.rj.IRJContainerItem; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; + +public class ItemRJContainer extends Item implements IRJContainerItem { + + protected int capacity; + protected int maxReceive; + protected int maxExtract; + + + public ItemRJContainer() {} + + public ItemRJContainer(int capacity) { + this(capacity, capacity, capacity); + } + + public ItemRJContainer(int capacity, int maxTransfer) { + this(capacity, maxTransfer, maxTransfer); + } + + public ItemRJContainer(int capacity, int maxReceive, int maxExtract) { + this.capacity = capacity; + this.maxReceive = maxReceive; + this.maxExtract = maxExtract; + } + + public ItemRJContainer setCapacity(int capacity) { + this.capacity = capacity; + return this; + } + + public void setMaxTransfer(int maxTransfer) { + this.setMaxReceive(maxTransfer); + this.setMaxExtract(maxTransfer); + } + + public void setMaxReceive(int maxReceive) { + this.maxReceive = maxReceive; + } + + public void setMaxExtract(int maxExtract) { + this.maxExtract = maxExtract; + } + + public int receiveEnergy(ItemStack container, int maxReceive, boolean simulate) { + if(container.field_77990_d == null) { + container.field_77990_d = new NBTTagCompound(); + } + + int energy = container.field_77990_d.func_74762_e("Energy"); + int energyReceived = Math.min(this.capacity - energy, Math.min(this.maxReceive, maxReceive)); + if(!simulate) { + energy += energyReceived; + container.field_77990_d.func_74768_a("Energy", energy); + } + + return energyReceived; + } + + public int extractEnergy(ItemStack container, int maxExtract, boolean simulate) { + if(container.field_77990_d != null && container.field_77990_d.func_74764_b("Energy")) { + int energy = container.field_77990_d.func_74762_e("Energy"); + int energyExtracted = Math.min(energy, Math.min(this.maxExtract, maxExtract)); + if(!simulate) { + energy -= energyExtracted; + container.field_77990_d.func_74768_a("Energy", energy); + } + + return energyExtracted; + } else { + return 0; + } + } + + public int getEnergyStored(ItemStack container) { + return container.field_77990_d != null && container.field_77990_d.func_74764_b("Energy")?container.field_77990_d.func_74762_e("Energy"):0; + } + + public int getMaxEnergyStored(ItemStack container) { + return this.capacity; + } +} diff --git a/src/main/java/com/mrdimka/api/power/rj/TileEnergyHandler.java b/src/main/java/com/mrdimka/api/power/rj/TileEnergyHandler.java new file mode 100644 index 0000000..1d768be --- /dev/null +++ b/src/main/java/com/mrdimka/api/power/rj/TileEnergyHandler.java @@ -0,0 +1,43 @@ +package com.mrdimka.api.power.rj; + +import com.mrdimka.api.power.rj.EnergyStorage; +import com.mrdimka.api.power.rj.IRJHandler; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEnergyHandler extends TileEntity implements IRJHandler { + + protected EnergyStorage storage = new EnergyStorage(32000); + + + public void func_145839_a(NBTTagCompound nbt) { + super.func_145839_a(nbt); + this.storage.readFromNBT(nbt); + } + + public void func_145841_b(NBTTagCompound nbt) { + super.func_145841_b(nbt); + this.storage.writeToNBT(nbt); + } + + public boolean canConnectRJ(ForgeDirection from) { + return true; + } + + public int receiveRJ(ForgeDirection from, int maxReceive, boolean simulate) { + return this.storage.receiveEnergy(maxReceive, simulate); + } + + public int extractRJ(ForgeDirection from, int maxExtract, boolean simulate) { + return this.storage.extractEnergy(maxExtract, simulate); + } + + public int getRJStored(ForgeDirection from) { + return this.storage.getEnergyStored(); + } + + public int getMaxRJStored(ForgeDirection from) { + return this.storage.getMaxEnergyStored(); + } +} diff --git a/src/main/java/com/mrdimka/api/power/rj/package-info.java b/src/main/java/com/mrdimka/api/power/rj/package-info.java new file mode 100644 index 0000000..64879dc --- /dev/null +++ b/src/main/java/com/mrdimka/api/power/rj/package-info.java @@ -0,0 +1,12 @@ +package com.mrdimka.api.power.rj; + +import cpw.mods.fml.common.API; + +@API( + apiVersion = "1.7.10-1.3.5", + owner = "STAPI", + provides = "STAPI|power" +) +// $FF: synthetic class +interface package-info { +} diff --git a/src/main/java/com/pengu/api/SharpyThinkingAPIProps.java b/src/main/java/com/pengu/api/SharpyThinkingAPIProps.java new file mode 100644 index 0000000..241616a --- /dev/null +++ b/src/main/java/com/pengu/api/SharpyThinkingAPIProps.java @@ -0,0 +1,9 @@ +package com.pengu.api; + + +public class SharpyThinkingAPIProps { + + public static final String VERSION = "1.7.10-1.3"; + + +} diff --git a/src/main/java/com/pengu/api/package-info.java b/src/main/java/com/pengu/api/package-info.java new file mode 100644 index 0000000..26f76d4 --- /dev/null +++ b/src/main/java/com/pengu/api/package-info.java @@ -0,0 +1,12 @@ +package com.pengu.api; + +import cpw.mods.fml.common.API; + +@API( + apiVersion = "1.7.10-1.3.5", + owner = "STLib", + provides = "STAPI" +) +// $FF: synthetic class +interface package-info { +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/FakeCommandSender.java b/src/main/java/com/pengu/api/thaumicadditions/FakeCommandSender.java new file mode 100644 index 0000000..e77cc05 --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/FakeCommandSender.java @@ -0,0 +1,32 @@ +package com.pengu.api.thaumicadditions; + +import net.minecraft.command.ICommandSender; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.ChunkCoordinates; +import net.minecraft.util.IChatComponent; +import net.minecraft.world.World; + +public class FakeCommandSender implements ICommandSender { + + public String func_70005_c_() { + return "Thaumic Additions"; + } + + public IChatComponent func_145748_c_() { + return new ChatComponentText("What sould this be?"); + } + + public void func_145747_a(IChatComponent p_145747_1_) {} + + public boolean func_70003_b(int p_70003_1_, String p_70003_2_) { + return true; + } + + public ChunkCoordinates func_82114_b() { + return new ChunkCoordinates(0, 0, 0); + } + + public World func_130014_f_() { + return null; + } +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/IAPIProvide.java b/src/main/java/com/pengu/api/thaumicadditions/IAPIProvide.java new file mode 100644 index 0000000..c47bb4d --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/IAPIProvide.java @@ -0,0 +1,31 @@ +package com.pengu.api.thaumicadditions; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.particle.EntityFX; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import net.minecraftforge.common.AchievementPage; + +public interface IAPIProvide { + + void infectItem(ItemStack var1, int var2); + + CreativeTabs getCreativeTab(); + + @SideOnly(Side.CLIENT) + EntityFX spawnColoredFlame(World var1, double var2, double var4, double var6, int var8, int var9, float var10); + + @SideOnly(Side.CLIENT) + EntityFX spawnCustomParticle(EntityFX var1); + + AchievementPage getAchievementPage(); + + void showTipMessage(String var1, long var2, long var4, long var6); + + void registerArcaneDiceDrop(Item var1); + + boolean doesPlayerHaveResearch(String var1, String var2); +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/VisSourceContainer.java b/src/main/java/com/pengu/api/thaumicadditions/VisSourceContainer.java new file mode 100644 index 0000000..6f5716f --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/VisSourceContainer.java @@ -0,0 +1,51 @@ +package com.pengu.api.thaumicadditions; + +import com.pengu.thaumcraft.additions.utils.TALog; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; +import thaumcraft.api.aspects.Aspect; +import thaumcraft.api.visnet.VisNetHandler; + +public abstract class VisSourceContainer extends BlockContainer { + + protected Aspect aspectNeeded; + protected int aspectCountNedeed; + + + protected VisSourceContainer(Material p_i45386_1_, Aspect aspect, int aspectCount) { + super(p_i45386_1_); + this.aspectNeeded = aspect; + this.aspectCountNedeed = aspectCount; + } + + public void func_149689_a(World w, int x, int y, int z, EntityLivingBase e, ItemStack i) { + if(w.field_72995_K) { + try { + if(e instanceof EntityPlayer) { + if(VisNetHandler.drainVis(w, x, y, z, this.aspectNeeded, this.aspectCountNedeed) >= this.aspectCountNedeed) { + ((EntityPlayer)e).func_145747_a(new ChatComponentText(EnumChatFormatting.GREEN + "Found more than enough vis(CV) around here.")); + } else if(VisNetHandler.drainVis(w, x, y, z, this.aspectNeeded, this.aspectCountNedeed) > 0) { + ((EntityPlayer)e).func_145747_a(new ChatComponentText(EnumChatFormatting.YELLOW + "Found some (not enough) vis(CV) around here.")); + } else { + ((EntityPlayer)e).func_145747_a(new ChatComponentText(EnumChatFormatting.RED + "Not found any vis(CV) around here.")); + } + } + } catch (Exception var8) { + if(e instanceof EntityPlayer) { + ((EntityPlayer)e).func_145747_a(new ChatComponentText(EnumChatFormatting.DARK_RED + "Something went horribly, when checking CV around!")); + } else { + TALog.warn("Something went horribly, when checking CV around " + x + ", " + y + ", " + z + " in dimension #" + w.field_73011_w.field_76574_g + ":", new Object[0]); + var8.printStackTrace(); + } + } + } + + super.func_149689_a(w, x, y, z, e, i); + } +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/blocks/BlockNeedsResearch.java b/src/main/java/com/pengu/api/thaumicadditions/blocks/BlockNeedsResearch.java new file mode 100644 index 0000000..fabea6c --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/blocks/BlockNeedsResearch.java @@ -0,0 +1,15 @@ +package com.pengu.api.thaumicadditions.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; + +public class BlockNeedsResearch extends Block { + + public final String research_key; + + + protected BlockNeedsResearch(Material material, String research) { + super(material); + this.research_key = research; + } +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/enums/EnumAT.java b/src/main/java/com/pengu/api/thaumicadditions/enums/EnumAT.java new file mode 100644 index 0000000..306a0c7 --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/enums/EnumAT.java @@ -0,0 +1,45 @@ +package com.pengu.api.thaumicadditions.enums; + +import cpw.mods.fml.common.FMLLog; +import java.util.HashMap; +import java.util.Map; +import org.apache.logging.log4j.Level; + +public enum EnumAT { + + AER("AER", 0, 0), + AQUA("AQUA", 1, 1), + IGNIS("IGNIS", 2, 2), + ORDO("ORDO", 3, 3), + PERDITIO("PERDITIO", 4, 4), + TERRA("TERRA", 5, 5), + VITIUM("VITIUM", 6, 6); + public static final Map aspects = new HashMap(); + public final int id; + + + public String getAspect() { + return this.name().toLowerCase(); + } + + private EnumAT(String var1, int var2, int id) { + this.id = id; + } + + public void put() { + if(!aspects.containsKey(this)) { + aspects.put(Integer.valueOf(this.id), this); + FMLLog.log("Thaumic Additions", Level.INFO, "Adding aspect " + this.getAspect() + " to aspect array", new Object[0]); + } + + } + + public static EnumAT getFrom(int id) { + return (EnumAT)aspects.get(Integer.valueOf(id)); + } + + public static EnumAT[] values_() { + return new EnumAT[]{AER, AQUA, IGNIS, ORDO, PERDITIO, TERRA, VITIUM}; + } + +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/event/DarkInfuserEvent.java b/src/main/java/com/pengu/api/thaumicadditions/event/DarkInfuserEvent.java new file mode 100644 index 0000000..0cea604 --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/event/DarkInfuserEvent.java @@ -0,0 +1,6 @@ +package com.pengu.api.thaumicadditions.event; + + +public class DarkInfuserEvent { + +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/event/InfuserEvent.java b/src/main/java/com/pengu/api/thaumicadditions/event/InfuserEvent.java new file mode 100644 index 0000000..854b42c --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/event/InfuserEvent.java @@ -0,0 +1,6 @@ +package com.pengu.api.thaumicadditions.event; + + +public class InfuserEvent { + +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/infuser/DarkInfuserRecipe.java b/src/main/java/com/pengu/api/thaumicadditions/infuser/DarkInfuserRecipe.java new file mode 100644 index 0000000..efc6f3b --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/infuser/DarkInfuserRecipe.java @@ -0,0 +1,30 @@ +package com.pengu.api.thaumicadditions.infuser; + +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class DarkInfuserRecipe { + + public ItemStack output; + public ItemStack input1; + public ItemStack input2; + public ItemStack input3; + public ItemStack input4; + public ItemStack input5; + public int praecantatio = 0; + public int taint = 0; + + + public DarkInfuserRecipe(int praecantatio, int taint, ItemStack out, ItemStack in1, ItemStack in2, ItemStack in3, ItemStack in4, ItemStack in5) { + this.output = out; + this.input1 = in1; + this.input2 = in2; + this.input3 = in3; + this.input4 = in4; + this.input5 = in5; + this.praecantatio = praecantatio; + this.taint = taint; + } + + public void onCraftEvent(World world, int x, int y, int z) {} +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/infuser/InfuserRecipe.java b/src/main/java/com/pengu/api/thaumicadditions/infuser/InfuserRecipe.java new file mode 100644 index 0000000..e060f68 --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/infuser/InfuserRecipe.java @@ -0,0 +1,32 @@ +package com.pengu.api.thaumicadditions.infuser; + +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class InfuserRecipe { + + public ItemStack output; + public ItemStack input1; + public ItemStack input2; + public ItemStack input3; + public ItemStack input4; + public ItemStack input5; + public ItemStack input6; + public boolean outputDepletedShard = false; + public int praecantatio = 0; + + + public InfuserRecipe(int praecantatio, ItemStack out, ItemStack in1, ItemStack in2, ItemStack in3, ItemStack in4, ItemStack in5, ItemStack in6, boolean outputDepletedShard) { + this.output = out; + this.input1 = in1; + this.input2 = in2; + this.input3 = in3; + this.input4 = in4; + this.input5 = in5; + this.input6 = in6; + this.outputDepletedShard = outputDepletedShard; + this.praecantatio = praecantatio; + } + + public void onCraftEvent(World world, int x, int y, int z) {} +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/infuser/InfuserRecipePipeline.java b/src/main/java/com/pengu/api/thaumicadditions/infuser/InfuserRecipePipeline.java new file mode 100644 index 0000000..fd31ed8 --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/infuser/InfuserRecipePipeline.java @@ -0,0 +1,15 @@ +package com.pengu.api.thaumicadditions.infuser; + +import com.pengu.api.thaumicadditions.infuser.DarkInfuserRecipe; +import com.pengu.api.thaumicadditions.infuser.InfuserRecipe; +import java.util.ArrayList; +import java.util.List; + +public class InfuserRecipePipeline { + + public static InfuserRecipePipeline instance = new InfuserRecipePipeline(); + public List recipesOnTheRegularInfuser = new ArrayList(); + public List recipesOnTheDarkInfuser = new ArrayList(); + + +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/infuser/InfuserRecipeRegistry.java b/src/main/java/com/pengu/api/thaumicadditions/infuser/InfuserRecipeRegistry.java new file mode 100644 index 0000000..3b3ef64 --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/infuser/InfuserRecipeRegistry.java @@ -0,0 +1,21 @@ +package com.pengu.api.thaumicadditions.infuser; + +import com.pengu.api.thaumicadditions.infuser.DarkInfuserRecipe; +import com.pengu.api.thaumicadditions.infuser.InfuserRecipe; +import com.pengu.api.thaumicadditions.infuser.InfuserRecipePipeline; +import net.minecraft.item.ItemStack; + +public class InfuserRecipeRegistry { + + public static InfuserRecipePipeline complexOfRecipes = InfuserRecipePipeline.instance; + + + public static void registerInfuserRecipe(int praecantatio, ItemStack out, ItemStack in1, ItemStack in2, ItemStack in3, ItemStack in4, ItemStack in5, ItemStack in6, boolean outputDepletedShard) { + complexOfRecipes.recipesOnTheRegularInfuser.add(new InfuserRecipe(praecantatio, out, in1, in2, in3, in4, in5, in6, outputDepletedShard)); + } + + public static void registerDarkInfuserRecipe(int praecantatio, int taint, ItemStack out, ItemStack in1, ItemStack in2, ItemStack in3, ItemStack in4, ItemStack in5) { + complexOfRecipes.recipesOnTheDarkInfuser.add(new DarkInfuserRecipe(praecantatio, taint, out, in1, in2, in3, in4, in5)); + } + +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/items/IHUDRenderable.java b/src/main/java/com/pengu/api/thaumicadditions/items/IHUDRenderable.java new file mode 100644 index 0000000..6598496 --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/items/IHUDRenderable.java @@ -0,0 +1,11 @@ +package com.pengu.api.thaumicadditions.items; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.item.ItemStack; + +public interface IHUDRenderable { + + @SideOnly(Side.CLIENT) + void renderHUD(ItemStack var1); +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/libThaumicAdditions.java b/src/main/java/com/pengu/api/thaumicadditions/libThaumicAdditions.java new file mode 100644 index 0000000..f799b6c --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/libThaumicAdditions.java @@ -0,0 +1,6 @@ +package com.pengu.api.thaumicadditions; + + +public class libThaumicAdditions { + +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/modeling/ModelLoader.java b/src/main/java/com/pengu/api/thaumicadditions/modeling/ModelLoader.java new file mode 100644 index 0000000..5194e8a --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/modeling/ModelLoader.java @@ -0,0 +1,46 @@ +package com.pengu.api.thaumicadditions.modeling; + +import cpw.mods.fml.common.FMLLog; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; +import org.apache.logging.log4j.Level; + +public class ModelLoader { + + private static Map mods = new HashMap(); + private static Map sdom = new HashMap(); + private static Map id = new HashMap(); + private static Map di = new HashMap(); + private static boolean isLate = false; + + + public static void registerMod(String modid, String name, String idcode) { + if(!isLate) { + mods.put(modid, name); + sdom.put(name, modid); + id.put(idcode, modid); + di.put(modid, idcode); + } else { + throw new IllegalStateException("Registration for " + modid + " late!"); + } + } + + public static IModelCustom loadModel(String idcode, String path) { + return AdvancedModelLoader.loadModel(new ResourceLocation((String)id.get(idcode), path)); + } + + public static void logAllMods() { + Iterator var0 = mods.keySet().iterator(); + + while(var0.hasNext()) { + String modid = (String)var0.next(); + FMLLog.log("Thaumic Additions", Level.INFO, "Mod %s is mapped as %s and has id code of %s", new Object[]{modid, mods.get(modid), di.get(modid)}); + } + + } + +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/nbt/INBTReadWritable.java b/src/main/java/com/pengu/api/thaumicadditions/nbt/INBTReadWritable.java new file mode 100644 index 0000000..c815884 --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/nbt/INBTReadWritable.java @@ -0,0 +1,9 @@ +package com.pengu.api.thaumicadditions.nbt; + + +public interface INBTReadWritable { + + void readFromNBT(); + + void writeToNBT(); +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/obj/SymbolsTA.java b/src/main/java/com/pengu/api/thaumicadditions/obj/SymbolsTA.java new file mode 100644 index 0000000..a37db4d --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/obj/SymbolsTA.java @@ -0,0 +1,9851 @@ +package com.pengu.api.thaumicadditions.obj; + +import com.google.common.base.Stopwatch; +import cpw.mods.fml.common.FMLLog; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.concurrent.TimeUnit; +import org.apache.logging.log4j.Level; + +public class SymbolsTA { + + private static final transient char[] chars; + + + public static String generateSymbols(int amount) { + String s = new String(); + + for(int id = 0; id < amount; ++id) { + s = s + getSymbolForNum(Integer.valueOf(id + amount)); + } + + return s; + } + + public static List toSymbols(List list) { + ArrayList l = new ArrayList(); + Iterator it = list.iterator(); + + while(it.hasNext()) { + l.add(generateSymbols(((String)it.next()).length())); + } + + return l; + } + + public static Character getSymbolForNum(Integer curr) { + return new Character(chars[curr.intValue() % chars.length]); + } + + public static List addCharEntries() { + ArrayList charS = new ArrayList(); + charS.addAll(addCharEntryA()); + charS.addAll(addCharEntryB()); + charS.addAll(addCharEntryC()); + charS.addAll(addCharEntryD()); + return charS; + } + + public static List addCharEntryA() { + ArrayList charS = new ArrayList(); + charS.add(Character.valueOf('\uac00')); + charS.add(Character.valueOf('\uac01')); + charS.add(Character.valueOf('\uac02')); + charS.add(Character.valueOf('\uac03')); + charS.add(Character.valueOf('\uac04')); + charS.add(Character.valueOf('\uac05')); + charS.add(Character.valueOf('\uac06')); + charS.add(Character.valueOf('\uac07')); + charS.add(Character.valueOf('\uac08')); + charS.add(Character.valueOf('\uac09')); + charS.add(Character.valueOf('\uac0a')); + charS.add(Character.valueOf('\uac0b')); + charS.add(Character.valueOf('\uac0c')); + charS.add(Character.valueOf('\uac0d')); + charS.add(Character.valueOf('\uac0e')); + charS.add(Character.valueOf('\uac0f')); + charS.add(Character.valueOf('\uac10')); + charS.add(Character.valueOf('\uac11')); + charS.add(Character.valueOf('\uac12')); + charS.add(Character.valueOf('\uac13')); + charS.add(Character.valueOf('\uac14')); + charS.add(Character.valueOf('\uac15')); + charS.add(Character.valueOf('\uac16')); + charS.add(Character.valueOf('\uac17')); + charS.add(Character.valueOf('\uac18')); + charS.add(Character.valueOf('\uac19')); + charS.add(Character.valueOf('\uac1a')); + charS.add(Character.valueOf('\uac1b')); + charS.add(Character.valueOf('\uac1c')); + charS.add(Character.valueOf('\uac1d')); + charS.add(Character.valueOf('\uac1e')); + charS.add(Character.valueOf('\uac1f')); + charS.add(Character.valueOf('\uac20')); + charS.add(Character.valueOf('\uac21')); + charS.add(Character.valueOf('\uac22')); + charS.add(Character.valueOf('\uac23')); + charS.add(Character.valueOf('\uac24')); + charS.add(Character.valueOf('\uac25')); + charS.add(Character.valueOf('\uac26')); + charS.add(Character.valueOf('\uac27')); + charS.add(Character.valueOf('\uac28')); + charS.add(Character.valueOf('\uac29')); + charS.add(Character.valueOf('\uac2a')); + charS.add(Character.valueOf('\uac2b')); + charS.add(Character.valueOf('\uac2c')); + charS.add(Character.valueOf('\uac2d')); + charS.add(Character.valueOf('\uac2e')); + charS.add(Character.valueOf('\uac2f')); + charS.add(Character.valueOf('\uac30')); + charS.add(Character.valueOf('\uac31')); + charS.add(Character.valueOf('\uac32')); + charS.add(Character.valueOf('\uac33')); + charS.add(Character.valueOf('\uac34')); + charS.add(Character.valueOf('\uac35')); + charS.add(Character.valueOf('\uac36')); + charS.add(Character.valueOf('\uac37')); + charS.add(Character.valueOf('\uac38')); + charS.add(Character.valueOf('\uac39')); + charS.add(Character.valueOf('\uac3a')); + charS.add(Character.valueOf('\uac3b')); + charS.add(Character.valueOf('\uac3c')); + charS.add(Character.valueOf('\uac3d')); + charS.add(Character.valueOf('\uac3e')); + charS.add(Character.valueOf('\uac3f')); + charS.add(Character.valueOf('\uac40')); + charS.add(Character.valueOf('\uac41')); + charS.add(Character.valueOf('\uac42')); + charS.add(Character.valueOf('\uac43')); + charS.add(Character.valueOf('\uac44')); + charS.add(Character.valueOf('\uac45')); + charS.add(Character.valueOf('\uac46')); + charS.add(Character.valueOf('\uac47')); + charS.add(Character.valueOf('\uac48')); + charS.add(Character.valueOf('\uac49')); + charS.add(Character.valueOf('\uac4a')); + charS.add(Character.valueOf('\uac4b')); + charS.add(Character.valueOf('\uac4c')); + charS.add(Character.valueOf('\uac4d')); + charS.add(Character.valueOf('\uac4e')); + charS.add(Character.valueOf('\uac4f')); + charS.add(Character.valueOf('\uac50')); + charS.add(Character.valueOf('\uac51')); + charS.add(Character.valueOf('\uac52')); + charS.add(Character.valueOf('\uac53')); + charS.add(Character.valueOf('\uac54')); + charS.add(Character.valueOf('\uac55')); + charS.add(Character.valueOf('\uac56')); + charS.add(Character.valueOf('\uac57')); + charS.add(Character.valueOf('\uac58')); + charS.add(Character.valueOf('\uac59')); + charS.add(Character.valueOf('\uac5a')); + charS.add(Character.valueOf('\uac5b')); + charS.add(Character.valueOf('\uac5c')); + charS.add(Character.valueOf('\uac5d')); + charS.add(Character.valueOf('\uac5e')); + charS.add(Character.valueOf('\uac5f')); + charS.add(Character.valueOf('\uac60')); + charS.add(Character.valueOf('\uac61')); + charS.add(Character.valueOf('\uac62')); + charS.add(Character.valueOf('\uac63')); + charS.add(Character.valueOf('\uac64')); + charS.add(Character.valueOf('\uac65')); + charS.add(Character.valueOf('\uac66')); + charS.add(Character.valueOf('\uac67')); + charS.add(Character.valueOf('\uac68')); + charS.add(Character.valueOf('\uac69')); + charS.add(Character.valueOf('\uac6a')); + charS.add(Character.valueOf('\uac6b')); + charS.add(Character.valueOf('\uac6c')); + charS.add(Character.valueOf('\uac6d')); + charS.add(Character.valueOf('\uac6e')); + charS.add(Character.valueOf('\uac6f')); + charS.add(Character.valueOf('\uac70')); + charS.add(Character.valueOf('\uac71')); + charS.add(Character.valueOf('\uac72')); + charS.add(Character.valueOf('\uac73')); + charS.add(Character.valueOf('\uac74')); + charS.add(Character.valueOf('\uac75')); + charS.add(Character.valueOf('\uac76')); + charS.add(Character.valueOf('\uac77')); + charS.add(Character.valueOf('\uac78')); + charS.add(Character.valueOf('\uac79')); + charS.add(Character.valueOf('\uac7a')); + charS.add(Character.valueOf('\uac7b')); + charS.add(Character.valueOf('\uac7c')); + charS.add(Character.valueOf('\uac7d')); + charS.add(Character.valueOf('\uac7e')); + charS.add(Character.valueOf('\uac7f')); + charS.add(Character.valueOf('\uac80')); + charS.add(Character.valueOf('\uac81')); + charS.add(Character.valueOf('\uac82')); + charS.add(Character.valueOf('\uac83')); + charS.add(Character.valueOf('\uac84')); + charS.add(Character.valueOf('\uac85')); + charS.add(Character.valueOf('\uac86')); + charS.add(Character.valueOf('\uac87')); + charS.add(Character.valueOf('\uac88')); + charS.add(Character.valueOf('\uac89')); + charS.add(Character.valueOf('\uac8a')); + charS.add(Character.valueOf('\uac8b')); + charS.add(Character.valueOf('\uac8c')); + charS.add(Character.valueOf('\uac8d')); + charS.add(Character.valueOf('\uac8e')); + charS.add(Character.valueOf('\uac8f')); + charS.add(Character.valueOf('\uac90')); + charS.add(Character.valueOf('\uac91')); + charS.add(Character.valueOf('\uac92')); + charS.add(Character.valueOf('\uac93')); + charS.add(Character.valueOf('\uac94')); + charS.add(Character.valueOf('\uac95')); + charS.add(Character.valueOf('\uac96')); + charS.add(Character.valueOf('\uac97')); + charS.add(Character.valueOf('\uac98')); + charS.add(Character.valueOf('\uac99')); + charS.add(Character.valueOf('\uac9a')); + charS.add(Character.valueOf('\uac9b')); + charS.add(Character.valueOf('\uac9c')); + charS.add(Character.valueOf('\uac9d')); + charS.add(Character.valueOf('\uac9e')); + charS.add(Character.valueOf('\uac9f')); + charS.add(Character.valueOf('\uaca0')); + charS.add(Character.valueOf('\uaca1')); + charS.add(Character.valueOf('\uaca2')); + charS.add(Character.valueOf('\uaca3')); + charS.add(Character.valueOf('\uaca4')); + charS.add(Character.valueOf('\uaca5')); + charS.add(Character.valueOf('\uaca6')); + charS.add(Character.valueOf('\uaca7')); + charS.add(Character.valueOf('\uaca8')); + charS.add(Character.valueOf('\uaca9')); + charS.add(Character.valueOf('\uacaa')); + charS.add(Character.valueOf('\uacab')); + charS.add(Character.valueOf('\uacac')); + charS.add(Character.valueOf('\uacad')); + charS.add(Character.valueOf('\uacae')); + charS.add(Character.valueOf('\uacaf')); + charS.add(Character.valueOf('\uacb0')); + charS.add(Character.valueOf('\uacb1')); + charS.add(Character.valueOf('\uacb2')); + charS.add(Character.valueOf('\uacb3')); + charS.add(Character.valueOf('\uacb4')); + charS.add(Character.valueOf('\uacb5')); + charS.add(Character.valueOf('\uacb6')); + charS.add(Character.valueOf('\uacb7')); + charS.add(Character.valueOf('\uacb8')); + charS.add(Character.valueOf('\uacb9')); + charS.add(Character.valueOf('\uacba')); + charS.add(Character.valueOf('\uacbb')); + charS.add(Character.valueOf('\uacbc')); + charS.add(Character.valueOf('\uac3d')); + charS.add(Character.valueOf('\uacbe')); + charS.add(Character.valueOf('\uacbf')); + charS.add(Character.valueOf('\uacc0')); + charS.add(Character.valueOf('\uacc1')); + charS.add(Character.valueOf('\uacc2')); + charS.add(Character.valueOf('\uacc3')); + charS.add(Character.valueOf('\uacc4')); + charS.add(Character.valueOf('\uacc5')); + charS.add(Character.valueOf('\uacc6')); + charS.add(Character.valueOf('\uacc7')); + charS.add(Character.valueOf('\uacc8')); + charS.add(Character.valueOf('\uacc9')); + charS.add(Character.valueOf('\uacca')); + charS.add(Character.valueOf('\uaccb')); + charS.add(Character.valueOf('\uaccc')); + charS.add(Character.valueOf('\uaccd')); + charS.add(Character.valueOf('\uacce')); + charS.add(Character.valueOf('\uaccf')); + charS.add(Character.valueOf('\uacd0')); + charS.add(Character.valueOf('\uacd1')); + charS.add(Character.valueOf('\uacd2')); + charS.add(Character.valueOf('\uacd3')); + charS.add(Character.valueOf('\uacd4')); + charS.add(Character.valueOf('\uacd5')); + charS.add(Character.valueOf('\uacd6')); + charS.add(Character.valueOf('\uacd7')); + charS.add(Character.valueOf('\uacd8')); + charS.add(Character.valueOf('\uacd9')); + charS.add(Character.valueOf('\uacda')); + charS.add(Character.valueOf('\uacdb')); + charS.add(Character.valueOf('\uacdc')); + charS.add(Character.valueOf('\uacdd')); + charS.add(Character.valueOf('\uacde')); + charS.add(Character.valueOf('\uacdf')); + charS.add(Character.valueOf('\uace0')); + charS.add(Character.valueOf('\uace1')); + charS.add(Character.valueOf('\uace2')); + charS.add(Character.valueOf('\uace3')); + charS.add(Character.valueOf('\uace4')); + charS.add(Character.valueOf('\uace5')); + charS.add(Character.valueOf('\uace6')); + charS.add(Character.valueOf('\uace7')); + charS.add(Character.valueOf('\uace8')); + charS.add(Character.valueOf('\uace9')); + charS.add(Character.valueOf('\uacea')); + charS.add(Character.valueOf('\uaceb')); + charS.add(Character.valueOf('\uacec')); + charS.add(Character.valueOf('\uaced')); + charS.add(Character.valueOf('\uacee')); + charS.add(Character.valueOf('\uacef')); + charS.add(Character.valueOf('\uacf0')); + charS.add(Character.valueOf('\uacf1')); + charS.add(Character.valueOf('\uacf2')); + charS.add(Character.valueOf('\uacf3')); + charS.add(Character.valueOf('\uacf4')); + charS.add(Character.valueOf('\uacf5')); + charS.add(Character.valueOf('\uacf6')); + charS.add(Character.valueOf('\uacf7')); + charS.add(Character.valueOf('\uacf8')); + charS.add(Character.valueOf('\uacf9')); + charS.add(Character.valueOf('\uacfa')); + charS.add(Character.valueOf('\uacfb')); + charS.add(Character.valueOf('\uacfc')); + charS.add(Character.valueOf('\uacfd')); + charS.add(Character.valueOf('\uacfe')); + charS.add(Character.valueOf('\uacff')); + return charS; + } + + public static List addCharEntryB() { + ArrayList charS = new ArrayList(); + charS.add(Character.valueOf('\ub000')); + charS.add(Character.valueOf('\ub001')); + charS.add(Character.valueOf('\ub002')); + charS.add(Character.valueOf('\ub003')); + charS.add(Character.valueOf('\ub004')); + charS.add(Character.valueOf('\ub005')); + charS.add(Character.valueOf('\ub006')); + charS.add(Character.valueOf('\ub007')); + charS.add(Character.valueOf('\ub008')); + charS.add(Character.valueOf('\ub009')); + charS.add(Character.valueOf('\ub00a')); + charS.add(Character.valueOf('\ub00b')); + charS.add(Character.valueOf('\ub00c')); + charS.add(Character.valueOf('\ub00d')); + charS.add(Character.valueOf('\ub00e')); + charS.add(Character.valueOf('\ub00f')); + charS.add(Character.valueOf('\ub010')); + charS.add(Character.valueOf('\ub011')); + charS.add(Character.valueOf('\ub012')); + charS.add(Character.valueOf('\ub013')); + charS.add(Character.valueOf('\ub014')); + charS.add(Character.valueOf('\ub015')); + charS.add(Character.valueOf('\ub016')); + charS.add(Character.valueOf('\ub017')); + charS.add(Character.valueOf('\ub018')); + charS.add(Character.valueOf('\ub019')); + charS.add(Character.valueOf('\ub01a')); + charS.add(Character.valueOf('\ub01b')); + charS.add(Character.valueOf('\ub01c')); + charS.add(Character.valueOf('\ub01d')); + charS.add(Character.valueOf('\ub01e')); + charS.add(Character.valueOf('\ub01f')); + charS.add(Character.valueOf('\ub020')); + charS.add(Character.valueOf('\ub021')); + charS.add(Character.valueOf('\ub022')); + charS.add(Character.valueOf('\ub023')); + charS.add(Character.valueOf('\ub024')); + charS.add(Character.valueOf('\ub025')); + charS.add(Character.valueOf('\ub026')); + charS.add(Character.valueOf('\ub027')); + charS.add(Character.valueOf('\ub028')); + charS.add(Character.valueOf('\ub029')); + charS.add(Character.valueOf('\ub02a')); + charS.add(Character.valueOf('\ub02b')); + charS.add(Character.valueOf('\ub02c')); + charS.add(Character.valueOf('\ub02d')); + charS.add(Character.valueOf('\ub02e')); + charS.add(Character.valueOf('\ub02f')); + charS.add(Character.valueOf('\ub030')); + charS.add(Character.valueOf('\ub031')); + charS.add(Character.valueOf('\ub032')); + charS.add(Character.valueOf('\ub033')); + charS.add(Character.valueOf('\ub034')); + charS.add(Character.valueOf('\ub035')); + charS.add(Character.valueOf('\ub036')); + charS.add(Character.valueOf('\ub037')); + charS.add(Character.valueOf('\ub038')); + charS.add(Character.valueOf('\ub039')); + charS.add(Character.valueOf('\ub03a')); + charS.add(Character.valueOf('\ub03b')); + charS.add(Character.valueOf('\ub03c')); + charS.add(Character.valueOf('\ub03d')); + charS.add(Character.valueOf('\ub03e')); + charS.add(Character.valueOf('\ub03f')); + charS.add(Character.valueOf('\ub040')); + charS.add(Character.valueOf('\ub041')); + charS.add(Character.valueOf('\ub042')); + charS.add(Character.valueOf('\ub043')); + charS.add(Character.valueOf('\ub044')); + charS.add(Character.valueOf('\ub045')); + charS.add(Character.valueOf('\ub046')); + charS.add(Character.valueOf('\ub047')); + charS.add(Character.valueOf('\ub048')); + charS.add(Character.valueOf('\ub049')); + charS.add(Character.valueOf('\ub04a')); + charS.add(Character.valueOf('\ub04b')); + charS.add(Character.valueOf('\ub04c')); + charS.add(Character.valueOf('\ub04d')); + charS.add(Character.valueOf('\ub04e')); + charS.add(Character.valueOf('\ub04f')); + charS.add(Character.valueOf('\ub050')); + charS.add(Character.valueOf('\ub051')); + charS.add(Character.valueOf('\ub052')); + charS.add(Character.valueOf('\ub053')); + charS.add(Character.valueOf('\ub054')); + charS.add(Character.valueOf('\ub055')); + charS.add(Character.valueOf('\ub056')); + charS.add(Character.valueOf('\ub057')); + charS.add(Character.valueOf('\ub058')); + charS.add(Character.valueOf('\ub059')); + charS.add(Character.valueOf('\ub05a')); + charS.add(Character.valueOf('\ub05b')); + charS.add(Character.valueOf('\ub05c')); + charS.add(Character.valueOf('\ub05d')); + charS.add(Character.valueOf('\ub05e')); + charS.add(Character.valueOf('\ub05f')); + charS.add(Character.valueOf('\ub060')); + charS.add(Character.valueOf('\ub061')); + charS.add(Character.valueOf('\ub062')); + charS.add(Character.valueOf('\ub063')); + charS.add(Character.valueOf('\ub064')); + charS.add(Character.valueOf('\ub065')); + charS.add(Character.valueOf('\ub066')); + charS.add(Character.valueOf('\ub067')); + charS.add(Character.valueOf('\ub068')); + charS.add(Character.valueOf('\ub069')); + charS.add(Character.valueOf('\ub06a')); + charS.add(Character.valueOf('\ub06b')); + charS.add(Character.valueOf('\ub06c')); + charS.add(Character.valueOf('\ub06d')); + charS.add(Character.valueOf('\ub06e')); + charS.add(Character.valueOf('\ub06f')); + charS.add(Character.valueOf('\ub070')); + charS.add(Character.valueOf('\ub071')); + charS.add(Character.valueOf('\ub072')); + charS.add(Character.valueOf('\ub073')); + charS.add(Character.valueOf('\ub074')); + charS.add(Character.valueOf('\ub075')); + charS.add(Character.valueOf('\ub076')); + charS.add(Character.valueOf('\ub077')); + charS.add(Character.valueOf('\ub078')); + charS.add(Character.valueOf('\ub079')); + charS.add(Character.valueOf('\ub07a')); + charS.add(Character.valueOf('\ub07b')); + charS.add(Character.valueOf('\ub07c')); + charS.add(Character.valueOf('\ub07d')); + charS.add(Character.valueOf('\ub07e')); + charS.add(Character.valueOf('\ub07f')); + charS.add(Character.valueOf('\ub080')); + charS.add(Character.valueOf('\ub081')); + charS.add(Character.valueOf('\ub082')); + charS.add(Character.valueOf('\ub083')); + charS.add(Character.valueOf('\ub084')); + charS.add(Character.valueOf('\ub085')); + charS.add(Character.valueOf('\ub086')); + charS.add(Character.valueOf('\ub087')); + charS.add(Character.valueOf('\ub088')); + charS.add(Character.valueOf('\ub089')); + charS.add(Character.valueOf('\ub08a')); + charS.add(Character.valueOf('\ub08b')); + charS.add(Character.valueOf('\ub08c')); + charS.add(Character.valueOf('\ub08d')); + charS.add(Character.valueOf('\ub08e')); + charS.add(Character.valueOf('\ub08f')); + charS.add(Character.valueOf('\ub090')); + charS.add(Character.valueOf('\ub091')); + charS.add(Character.valueOf('\ub092')); + charS.add(Character.valueOf('\ub093')); + charS.add(Character.valueOf('\ub094')); + charS.add(Character.valueOf('\ub095')); + charS.add(Character.valueOf('\ub096')); + charS.add(Character.valueOf('\ub097')); + charS.add(Character.valueOf('\ub098')); + charS.add(Character.valueOf('\ub099')); + charS.add(Character.valueOf('\ub09a')); + charS.add(Character.valueOf('\ub09b')); + charS.add(Character.valueOf('\ub09c')); + charS.add(Character.valueOf('\ub09d')); + charS.add(Character.valueOf('\ub09e')); + charS.add(Character.valueOf('\ub09f')); + charS.add(Character.valueOf('\ub0a0')); + charS.add(Character.valueOf('\ub0a1')); + charS.add(Character.valueOf('\ub0a2')); + charS.add(Character.valueOf('\ub0a3')); + charS.add(Character.valueOf('\ub0a4')); + charS.add(Character.valueOf('\ub0a5')); + charS.add(Character.valueOf('\ub0a6')); + charS.add(Character.valueOf('\ub0a7')); + charS.add(Character.valueOf('\ub0a8')); + charS.add(Character.valueOf('\ub0a9')); + charS.add(Character.valueOf('\ub0aa')); + charS.add(Character.valueOf('\ub0ab')); + charS.add(Character.valueOf('\ub0ac')); + charS.add(Character.valueOf('\ub0ad')); + charS.add(Character.valueOf('\ub0ae')); + charS.add(Character.valueOf('\ub0af')); + charS.add(Character.valueOf('\ub0b0')); + charS.add(Character.valueOf('\ub0b1')); + charS.add(Character.valueOf('\ub0b2')); + charS.add(Character.valueOf('\ub0b3')); + charS.add(Character.valueOf('\ub0b4')); + charS.add(Character.valueOf('\ub0b5')); + charS.add(Character.valueOf('\ub0b6')); + charS.add(Character.valueOf('\ub0b7')); + charS.add(Character.valueOf('\ub0b8')); + charS.add(Character.valueOf('\ub0b9')); + charS.add(Character.valueOf('\ub0ba')); + charS.add(Character.valueOf('\ub0bb')); + charS.add(Character.valueOf('\ub0bc')); + charS.add(Character.valueOf('\ub03d')); + charS.add(Character.valueOf('\ub0be')); + charS.add(Character.valueOf('\ub0bf')); + charS.add(Character.valueOf('\ub0c0')); + charS.add(Character.valueOf('\ub0c1')); + charS.add(Character.valueOf('\ub0c2')); + charS.add(Character.valueOf('\ub0c3')); + charS.add(Character.valueOf('\ub0c4')); + charS.add(Character.valueOf('\ub0c5')); + charS.add(Character.valueOf('\ub0c6')); + charS.add(Character.valueOf('\ub0c7')); + charS.add(Character.valueOf('\ub0c8')); + charS.add(Character.valueOf('\ub0c9')); + charS.add(Character.valueOf('\ub0ca')); + charS.add(Character.valueOf('\ub0cb')); + charS.add(Character.valueOf('\ub0cc')); + charS.add(Character.valueOf('\ub0cd')); + charS.add(Character.valueOf('\ub0ce')); + charS.add(Character.valueOf('\ub0cf')); + charS.add(Character.valueOf('\ub0d0')); + charS.add(Character.valueOf('\ub0d1')); + charS.add(Character.valueOf('\ub0d2')); + charS.add(Character.valueOf('\ub0d3')); + charS.add(Character.valueOf('\ub0d4')); + charS.add(Character.valueOf('\ub0d5')); + charS.add(Character.valueOf('\ub0d6')); + charS.add(Character.valueOf('\ub0d7')); + charS.add(Character.valueOf('\ub0d8')); + charS.add(Character.valueOf('\ub0d9')); + charS.add(Character.valueOf('\ub0da')); + charS.add(Character.valueOf('\ub0db')); + charS.add(Character.valueOf('\ub0dc')); + charS.add(Character.valueOf('\ub0dd')); + charS.add(Character.valueOf('\ub0de')); + charS.add(Character.valueOf('\ub0df')); + charS.add(Character.valueOf('\ub0e0')); + charS.add(Character.valueOf('\ub0e1')); + charS.add(Character.valueOf('\ub0e2')); + charS.add(Character.valueOf('\ub0e3')); + charS.add(Character.valueOf('\ub0e4')); + charS.add(Character.valueOf('\ub0e5')); + charS.add(Character.valueOf('\ub0e6')); + charS.add(Character.valueOf('\ub0e7')); + charS.add(Character.valueOf('\ub0e8')); + charS.add(Character.valueOf('\ub0e9')); + charS.add(Character.valueOf('\ub0ea')); + charS.add(Character.valueOf('\ub0eb')); + charS.add(Character.valueOf('\ub0ec')); + charS.add(Character.valueOf('\ub0ed')); + charS.add(Character.valueOf('\ub0ee')); + charS.add(Character.valueOf('\ub0ef')); + charS.add(Character.valueOf('\ub0f0')); + charS.add(Character.valueOf('\ub0f1')); + charS.add(Character.valueOf('\ub0f2')); + charS.add(Character.valueOf('\ub0f3')); + charS.add(Character.valueOf('\ub0f4')); + charS.add(Character.valueOf('\ub0f5')); + charS.add(Character.valueOf('\ub0f6')); + charS.add(Character.valueOf('\ub0f7')); + charS.add(Character.valueOf('\ub0f8')); + charS.add(Character.valueOf('\ub0f9')); + charS.add(Character.valueOf('\ub0fa')); + charS.add(Character.valueOf('\ub0fb')); + charS.add(Character.valueOf('\ub0fc')); + charS.add(Character.valueOf('\ub0fd')); + charS.add(Character.valueOf('\ub0fe')); + charS.add(Character.valueOf('\ub0ff')); + charS.add(Character.valueOf('\ub0e8')); + charS.add(Character.valueOf('\ub0e9')); + charS.add(Character.valueOf('\ub0ea')); + charS.add(Character.valueOf('\ub0eb')); + charS.add(Character.valueOf('\ub0ec')); + charS.add(Character.valueOf('\ub0ed')); + charS.add(Character.valueOf('\ub0ee')); + charS.add(Character.valueOf('\ub0ef')); + charS.add(Character.valueOf('\ub0f0')); + charS.add(Character.valueOf('\ub0f1')); + charS.add(Character.valueOf('\ub0f2')); + charS.add(Character.valueOf('\ub0f3')); + charS.add(Character.valueOf('\ub0f4')); + charS.add(Character.valueOf('\ub0f5')); + charS.add(Character.valueOf('\ub0f6')); + charS.add(Character.valueOf('\ub0f7')); + charS.add(Character.valueOf('\ub0f8')); + charS.add(Character.valueOf('\ub0f9')); + charS.add(Character.valueOf('\ub0fa')); + charS.add(Character.valueOf('\ub0fb')); + charS.add(Character.valueOf('\ub0fc')); + charS.add(Character.valueOf('\ub0fd')); + charS.add(Character.valueOf('\ub0fe')); + charS.add(Character.valueOf('\ub0ff')); + charS.add(Character.valueOf('\ub100')); + charS.add(Character.valueOf('\ub101')); + charS.add(Character.valueOf('\ub102')); + charS.add(Character.valueOf('\ub103')); + charS.add(Character.valueOf('\ub104')); + charS.add(Character.valueOf('\ub105')); + charS.add(Character.valueOf('\ub106')); + charS.add(Character.valueOf('\ub107')); + charS.add(Character.valueOf('\ub108')); + charS.add(Character.valueOf('\ub109')); + charS.add(Character.valueOf('\ub10a')); + charS.add(Character.valueOf('\ub10b')); + charS.add(Character.valueOf('\ub10c')); + charS.add(Character.valueOf('\ub10d')); + charS.add(Character.valueOf('\ub10e')); + charS.add(Character.valueOf('\ub10f')); + charS.add(Character.valueOf('\ub110')); + charS.add(Character.valueOf('\ub111')); + charS.add(Character.valueOf('\ub112')); + charS.add(Character.valueOf('\ub113')); + charS.add(Character.valueOf('\ub114')); + charS.add(Character.valueOf('\ub115')); + charS.add(Character.valueOf('\ub116')); + charS.add(Character.valueOf('\ub117')); + charS.add(Character.valueOf('\ub118')); + charS.add(Character.valueOf('\ub119')); + charS.add(Character.valueOf('\ub11a')); + charS.add(Character.valueOf('\ub11b')); + charS.add(Character.valueOf('\ub11c')); + charS.add(Character.valueOf('\ub11d')); + charS.add(Character.valueOf('\ub11e')); + charS.add(Character.valueOf('\ub11f')); + charS.add(Character.valueOf('\ub120')); + charS.add(Character.valueOf('\ub121')); + charS.add(Character.valueOf('\ub122')); + charS.add(Character.valueOf('\ub123')); + charS.add(Character.valueOf('\ub124')); + charS.add(Character.valueOf('\ub125')); + charS.add(Character.valueOf('\ub126')); + charS.add(Character.valueOf('\ub127')); + charS.add(Character.valueOf('\ub128')); + charS.add(Character.valueOf('\ub129')); + charS.add(Character.valueOf('\ub12a')); + charS.add(Character.valueOf('\ub12b')); + charS.add(Character.valueOf('\ub12c')); + charS.add(Character.valueOf('\ub12d')); + charS.add(Character.valueOf('\ub12e')); + charS.add(Character.valueOf('\ub12f')); + charS.add(Character.valueOf('\ub130')); + charS.add(Character.valueOf('\ub131')); + charS.add(Character.valueOf('\ub132')); + charS.add(Character.valueOf('\ub133')); + charS.add(Character.valueOf('\ub134')); + charS.add(Character.valueOf('\ub135')); + charS.add(Character.valueOf('\ub136')); + charS.add(Character.valueOf('\ub137')); + charS.add(Character.valueOf('\ub138')); + charS.add(Character.valueOf('\ub139')); + charS.add(Character.valueOf('\ub13a')); + charS.add(Character.valueOf('\ub13b')); + charS.add(Character.valueOf('\ub13c')); + charS.add(Character.valueOf('\ub13d')); + charS.add(Character.valueOf('\ub13e')); + charS.add(Character.valueOf('\ub13f')); + charS.add(Character.valueOf('\ub140')); + charS.add(Character.valueOf('\ub141')); + charS.add(Character.valueOf('\ub142')); + charS.add(Character.valueOf('\ub143')); + charS.add(Character.valueOf('\ub144')); + charS.add(Character.valueOf('\ub145')); + charS.add(Character.valueOf('\ub146')); + charS.add(Character.valueOf('\ub147')); + charS.add(Character.valueOf('\ub148')); + charS.add(Character.valueOf('\ub149')); + charS.add(Character.valueOf('\ub14a')); + charS.add(Character.valueOf('\ub14b')); + charS.add(Character.valueOf('\ub14c')); + charS.add(Character.valueOf('\ub14d')); + charS.add(Character.valueOf('\ub14e')); + charS.add(Character.valueOf('\ub14f')); + charS.add(Character.valueOf('\ub150')); + charS.add(Character.valueOf('\ub151')); + charS.add(Character.valueOf('\ub152')); + charS.add(Character.valueOf('\ub153')); + charS.add(Character.valueOf('\ub154')); + charS.add(Character.valueOf('\ub155')); + charS.add(Character.valueOf('\ub156')); + charS.add(Character.valueOf('\ub157')); + charS.add(Character.valueOf('\ub158')); + charS.add(Character.valueOf('\ub159')); + charS.add(Character.valueOf('\ub15a')); + charS.add(Character.valueOf('\ub15b')); + charS.add(Character.valueOf('\ub15c')); + charS.add(Character.valueOf('\ub15d')); + charS.add(Character.valueOf('\ub15e')); + charS.add(Character.valueOf('\ub15f')); + charS.add(Character.valueOf('\ub160')); + charS.add(Character.valueOf('\ub161')); + charS.add(Character.valueOf('\ub162')); + charS.add(Character.valueOf('\ub163')); + charS.add(Character.valueOf('\ub164')); + charS.add(Character.valueOf('\ub165')); + charS.add(Character.valueOf('\ub166')); + charS.add(Character.valueOf('\ub167')); + charS.add(Character.valueOf('\ub168')); + charS.add(Character.valueOf('\ub169')); + charS.add(Character.valueOf('\ub16a')); + charS.add(Character.valueOf('\ub16b')); + charS.add(Character.valueOf('\ub16c')); + charS.add(Character.valueOf('\ub16d')); + charS.add(Character.valueOf('\ub16e')); + charS.add(Character.valueOf('\ub16f')); + charS.add(Character.valueOf('\ub170')); + charS.add(Character.valueOf('\ub171')); + charS.add(Character.valueOf('\ub172')); + charS.add(Character.valueOf('\ub173')); + charS.add(Character.valueOf('\ub174')); + charS.add(Character.valueOf('\ub175')); + charS.add(Character.valueOf('\ub176')); + charS.add(Character.valueOf('\ub177')); + charS.add(Character.valueOf('\ub178')); + charS.add(Character.valueOf('\ub179')); + charS.add(Character.valueOf('\ub17a')); + charS.add(Character.valueOf('\ub17b')); + charS.add(Character.valueOf('\ub17c')); + charS.add(Character.valueOf('\ub17d')); + charS.add(Character.valueOf('\ub17e')); + charS.add(Character.valueOf('\ub17f')); + charS.add(Character.valueOf('\ub180')); + charS.add(Character.valueOf('\ub181')); + charS.add(Character.valueOf('\ub182')); + charS.add(Character.valueOf('\ub183')); + charS.add(Character.valueOf('\ub184')); + charS.add(Character.valueOf('\ub185')); + charS.add(Character.valueOf('\ub186')); + charS.add(Character.valueOf('\ub187')); + charS.add(Character.valueOf('\ub188')); + charS.add(Character.valueOf('\ub189')); + charS.add(Character.valueOf('\ub18a')); + charS.add(Character.valueOf('\ub18b')); + charS.add(Character.valueOf('\ub18c')); + charS.add(Character.valueOf('\ub18d')); + charS.add(Character.valueOf('\ub18e')); + charS.add(Character.valueOf('\ub18f')); + charS.add(Character.valueOf('\ub190')); + charS.add(Character.valueOf('\ub191')); + charS.add(Character.valueOf('\ub192')); + charS.add(Character.valueOf('\ub193')); + charS.add(Character.valueOf('\ub194')); + charS.add(Character.valueOf('\ub195')); + charS.add(Character.valueOf('\ub196')); + charS.add(Character.valueOf('\ub197')); + charS.add(Character.valueOf('\ub198')); + charS.add(Character.valueOf('\ub199')); + charS.add(Character.valueOf('\ub19a')); + charS.add(Character.valueOf('\ub19b')); + charS.add(Character.valueOf('\ub19c')); + charS.add(Character.valueOf('\ub19d')); + charS.add(Character.valueOf('\ub19e')); + charS.add(Character.valueOf('\ub19f')); + charS.add(Character.valueOf('\ub1a0')); + charS.add(Character.valueOf('\ub1a1')); + charS.add(Character.valueOf('\ub1a2')); + charS.add(Character.valueOf('\ub1a3')); + charS.add(Character.valueOf('\ub1a4')); + charS.add(Character.valueOf('\ub1a5')); + charS.add(Character.valueOf('\ub1a6')); + charS.add(Character.valueOf('\ub1a7')); + charS.add(Character.valueOf('\ub1a8')); + charS.add(Character.valueOf('\ub1a9')); + charS.add(Character.valueOf('\ub1aa')); + charS.add(Character.valueOf('\ub1ab')); + charS.add(Character.valueOf('\ub1ac')); + charS.add(Character.valueOf('\ub1ad')); + charS.add(Character.valueOf('\ub1ae')); + charS.add(Character.valueOf('\ub1af')); + charS.add(Character.valueOf('\ub1b0')); + charS.add(Character.valueOf('\ub1b1')); + charS.add(Character.valueOf('\ub1b2')); + charS.add(Character.valueOf('\ub1b3')); + charS.add(Character.valueOf('\ub1b4')); + charS.add(Character.valueOf('\ub1b5')); + charS.add(Character.valueOf('\ub1b6')); + charS.add(Character.valueOf('\ub1b7')); + charS.add(Character.valueOf('\ub1b8')); + charS.add(Character.valueOf('\ub1b9')); + charS.add(Character.valueOf('\ub1ba')); + charS.add(Character.valueOf('\ub1bb')); + charS.add(Character.valueOf('\ub1bc')); + charS.add(Character.valueOf('\ub13d')); + charS.add(Character.valueOf('\ub1be')); + charS.add(Character.valueOf('\ub1bf')); + charS.add(Character.valueOf('\ub1c0')); + charS.add(Character.valueOf('\ub1c1')); + charS.add(Character.valueOf('\ub1c2')); + charS.add(Character.valueOf('\ub1c3')); + charS.add(Character.valueOf('\ub1c4')); + charS.add(Character.valueOf('\ub1c5')); + charS.add(Character.valueOf('\ub1c6')); + charS.add(Character.valueOf('\ub1c7')); + charS.add(Character.valueOf('\ub1c8')); + charS.add(Character.valueOf('\ub1c9')); + charS.add(Character.valueOf('\ub1ca')); + charS.add(Character.valueOf('\ub1cb')); + charS.add(Character.valueOf('\ub1cc')); + charS.add(Character.valueOf('\ub1cd')); + charS.add(Character.valueOf('\ub1ce')); + charS.add(Character.valueOf('\ub1cf')); + charS.add(Character.valueOf('\ub1d0')); + charS.add(Character.valueOf('\ub1d1')); + charS.add(Character.valueOf('\ub1d2')); + charS.add(Character.valueOf('\ub1d3')); + charS.add(Character.valueOf('\ub1d4')); + charS.add(Character.valueOf('\ub1d5')); + charS.add(Character.valueOf('\ub1d6')); + charS.add(Character.valueOf('\ub1d7')); + charS.add(Character.valueOf('\ub1d8')); + charS.add(Character.valueOf('\ub1d9')); + charS.add(Character.valueOf('\ub1da')); + charS.add(Character.valueOf('\ub1db')); + charS.add(Character.valueOf('\ub1dc')); + charS.add(Character.valueOf('\ub1dd')); + charS.add(Character.valueOf('\ub1de')); + charS.add(Character.valueOf('\ub1df')); + charS.add(Character.valueOf('\ub1e0')); + charS.add(Character.valueOf('\ub1e1')); + charS.add(Character.valueOf('\ub1e2')); + charS.add(Character.valueOf('\ub1e3')); + charS.add(Character.valueOf('\ub1e4')); + charS.add(Character.valueOf('\ub1e5')); + charS.add(Character.valueOf('\ub1e6')); + charS.add(Character.valueOf('\ub1e7')); + charS.add(Character.valueOf('\ub1e8')); + charS.add(Character.valueOf('\ub1e9')); + charS.add(Character.valueOf('\ub1ea')); + charS.add(Character.valueOf('\ub1eb')); + charS.add(Character.valueOf('\ub1ec')); + charS.add(Character.valueOf('\ub1ed')); + charS.add(Character.valueOf('\ub1ee')); + charS.add(Character.valueOf('\ub1ef')); + charS.add(Character.valueOf('\ub1f0')); + charS.add(Character.valueOf('\ub1f1')); + charS.add(Character.valueOf('\ub1f2')); + charS.add(Character.valueOf('\ub1f3')); + charS.add(Character.valueOf('\ub1f4')); + charS.add(Character.valueOf('\ub1f5')); + charS.add(Character.valueOf('\ub1f6')); + charS.add(Character.valueOf('\ub1f7')); + charS.add(Character.valueOf('\ub1f8')); + charS.add(Character.valueOf('\ub1f9')); + charS.add(Character.valueOf('\ub1fa')); + charS.add(Character.valueOf('\ub1fb')); + charS.add(Character.valueOf('\ub1fc')); + charS.add(Character.valueOf('\ub1fd')); + charS.add(Character.valueOf('\ub1fe')); + charS.add(Character.valueOf('\ub1ff')); + charS.add(Character.valueOf('\ub200')); + charS.add(Character.valueOf('\ub201')); + charS.add(Character.valueOf('\ub202')); + charS.add(Character.valueOf('\ub203')); + charS.add(Character.valueOf('\ub204')); + charS.add(Character.valueOf('\ub205')); + charS.add(Character.valueOf('\ub206')); + charS.add(Character.valueOf('\ub207')); + charS.add(Character.valueOf('\ub208')); + charS.add(Character.valueOf('\ub209')); + charS.add(Character.valueOf('\ub20a')); + charS.add(Character.valueOf('\ub20b')); + charS.add(Character.valueOf('\ub20c')); + charS.add(Character.valueOf('\ub20d')); + charS.add(Character.valueOf('\ub20e')); + charS.add(Character.valueOf('\ub20f')); + charS.add(Character.valueOf('\ub210')); + charS.add(Character.valueOf('\ub211')); + charS.add(Character.valueOf('\ub212')); + charS.add(Character.valueOf('\ub213')); + charS.add(Character.valueOf('\ub214')); + charS.add(Character.valueOf('\ub215')); + charS.add(Character.valueOf('\ub216')); + charS.add(Character.valueOf('\ub217')); + charS.add(Character.valueOf('\ub218')); + charS.add(Character.valueOf('\ub219')); + charS.add(Character.valueOf('\ub21a')); + charS.add(Character.valueOf('\ub21b')); + charS.add(Character.valueOf('\ub21c')); + charS.add(Character.valueOf('\ub21d')); + charS.add(Character.valueOf('\ub21e')); + charS.add(Character.valueOf('\ub21f')); + charS.add(Character.valueOf('\ub220')); + charS.add(Character.valueOf('\ub221')); + charS.add(Character.valueOf('\ub222')); + charS.add(Character.valueOf('\ub223')); + charS.add(Character.valueOf('\ub224')); + charS.add(Character.valueOf('\ub225')); + charS.add(Character.valueOf('\ub226')); + charS.add(Character.valueOf('\ub227')); + charS.add(Character.valueOf('\ub228')); + charS.add(Character.valueOf('\ub229')); + charS.add(Character.valueOf('\ub22a')); + charS.add(Character.valueOf('\ub22b')); + charS.add(Character.valueOf('\ub22c')); + charS.add(Character.valueOf('\ub22d')); + charS.add(Character.valueOf('\ub22e')); + charS.add(Character.valueOf('\ub22f')); + charS.add(Character.valueOf('\ub230')); + charS.add(Character.valueOf('\ub231')); + charS.add(Character.valueOf('\ub232')); + charS.add(Character.valueOf('\ub233')); + charS.add(Character.valueOf('\ub234')); + charS.add(Character.valueOf('\ub235')); + charS.add(Character.valueOf('\ub236')); + charS.add(Character.valueOf('\ub237')); + charS.add(Character.valueOf('\ub238')); + charS.add(Character.valueOf('\ub239')); + charS.add(Character.valueOf('\ub23a')); + charS.add(Character.valueOf('\ub23b')); + charS.add(Character.valueOf('\ub23c')); + charS.add(Character.valueOf('\ub23d')); + charS.add(Character.valueOf('\ub23e')); + charS.add(Character.valueOf('\ub23f')); + charS.add(Character.valueOf('\ub240')); + charS.add(Character.valueOf('\ub241')); + charS.add(Character.valueOf('\ub242')); + charS.add(Character.valueOf('\ub243')); + charS.add(Character.valueOf('\ub244')); + charS.add(Character.valueOf('\ub245')); + charS.add(Character.valueOf('\ub246')); + charS.add(Character.valueOf('\ub247')); + charS.add(Character.valueOf('\ub248')); + charS.add(Character.valueOf('\ub249')); + charS.add(Character.valueOf('\ub24a')); + charS.add(Character.valueOf('\ub24b')); + charS.add(Character.valueOf('\ub24c')); + charS.add(Character.valueOf('\ub24d')); + charS.add(Character.valueOf('\ub24e')); + charS.add(Character.valueOf('\ub24f')); + charS.add(Character.valueOf('\ub250')); + charS.add(Character.valueOf('\ub251')); + charS.add(Character.valueOf('\ub252')); + charS.add(Character.valueOf('\ub253')); + charS.add(Character.valueOf('\ub254')); + charS.add(Character.valueOf('\ub255')); + charS.add(Character.valueOf('\ub256')); + charS.add(Character.valueOf('\ub257')); + charS.add(Character.valueOf('\ub258')); + charS.add(Character.valueOf('\ub259')); + charS.add(Character.valueOf('\ub25a')); + charS.add(Character.valueOf('\ub25b')); + charS.add(Character.valueOf('\ub25c')); + charS.add(Character.valueOf('\ub25d')); + charS.add(Character.valueOf('\ub25e')); + charS.add(Character.valueOf('\ub25f')); + charS.add(Character.valueOf('\ub260')); + charS.add(Character.valueOf('\ub261')); + charS.add(Character.valueOf('\ub262')); + charS.add(Character.valueOf('\ub263')); + charS.add(Character.valueOf('\ub264')); + charS.add(Character.valueOf('\ub265')); + charS.add(Character.valueOf('\ub266')); + charS.add(Character.valueOf('\ub267')); + charS.add(Character.valueOf('\ub268')); + charS.add(Character.valueOf('\ub269')); + charS.add(Character.valueOf('\ub26a')); + charS.add(Character.valueOf('\ub26b')); + charS.add(Character.valueOf('\ub26c')); + charS.add(Character.valueOf('\ub26d')); + charS.add(Character.valueOf('\ub26e')); + charS.add(Character.valueOf('\ub26f')); + charS.add(Character.valueOf('\ub270')); + charS.add(Character.valueOf('\ub271')); + charS.add(Character.valueOf('\ub272')); + charS.add(Character.valueOf('\ub273')); + charS.add(Character.valueOf('\ub274')); + charS.add(Character.valueOf('\ub275')); + charS.add(Character.valueOf('\ub276')); + charS.add(Character.valueOf('\ub277')); + charS.add(Character.valueOf('\ub278')); + charS.add(Character.valueOf('\ub279')); + charS.add(Character.valueOf('\ub27a')); + charS.add(Character.valueOf('\ub27b')); + charS.add(Character.valueOf('\ub27c')); + charS.add(Character.valueOf('\ub27d')); + charS.add(Character.valueOf('\ub27e')); + charS.add(Character.valueOf('\ub27f')); + charS.add(Character.valueOf('\ub280')); + charS.add(Character.valueOf('\ub281')); + charS.add(Character.valueOf('\ub282')); + charS.add(Character.valueOf('\ub283')); + charS.add(Character.valueOf('\ub284')); + charS.add(Character.valueOf('\ub285')); + charS.add(Character.valueOf('\ub286')); + charS.add(Character.valueOf('\ub287')); + charS.add(Character.valueOf('\ub288')); + charS.add(Character.valueOf('\ub289')); + charS.add(Character.valueOf('\ub28a')); + charS.add(Character.valueOf('\ub28b')); + charS.add(Character.valueOf('\ub28c')); + charS.add(Character.valueOf('\ub28d')); + charS.add(Character.valueOf('\ub28e')); + charS.add(Character.valueOf('\ub28f')); + charS.add(Character.valueOf('\ub290')); + charS.add(Character.valueOf('\ub291')); + charS.add(Character.valueOf('\ub292')); + charS.add(Character.valueOf('\ub293')); + charS.add(Character.valueOf('\ub294')); + charS.add(Character.valueOf('\ub295')); + charS.add(Character.valueOf('\ub296')); + charS.add(Character.valueOf('\ub297')); + charS.add(Character.valueOf('\ub298')); + charS.add(Character.valueOf('\ub299')); + charS.add(Character.valueOf('\ub29a')); + charS.add(Character.valueOf('\ub29b')); + charS.add(Character.valueOf('\ub29c')); + charS.add(Character.valueOf('\ub29d')); + charS.add(Character.valueOf('\ub29e')); + charS.add(Character.valueOf('\ub29f')); + charS.add(Character.valueOf('\ub2a0')); + charS.add(Character.valueOf('\ub2a1')); + charS.add(Character.valueOf('\ub2a2')); + charS.add(Character.valueOf('\ub2a3')); + charS.add(Character.valueOf('\ub2a4')); + charS.add(Character.valueOf('\ub2a5')); + charS.add(Character.valueOf('\ub2a6')); + charS.add(Character.valueOf('\ub2a7')); + charS.add(Character.valueOf('\ub2a8')); + charS.add(Character.valueOf('\ub2a9')); + charS.add(Character.valueOf('\ub2aa')); + charS.add(Character.valueOf('\ub2ab')); + charS.add(Character.valueOf('\ub2ac')); + charS.add(Character.valueOf('\ub2ad')); + charS.add(Character.valueOf('\ub2ae')); + charS.add(Character.valueOf('\ub2af')); + charS.add(Character.valueOf('\ub2b0')); + charS.add(Character.valueOf('\ub2b1')); + charS.add(Character.valueOf('\ub2b2')); + charS.add(Character.valueOf('\ub2b3')); + charS.add(Character.valueOf('\ub2b4')); + charS.add(Character.valueOf('\ub2b5')); + charS.add(Character.valueOf('\ub2b6')); + charS.add(Character.valueOf('\ub2b7')); + charS.add(Character.valueOf('\ub2b8')); + charS.add(Character.valueOf('\ub2b9')); + charS.add(Character.valueOf('\ub2ba')); + charS.add(Character.valueOf('\ub2bb')); + charS.add(Character.valueOf('\ub2bc')); + charS.add(Character.valueOf('\ub23d')); + charS.add(Character.valueOf('\ub2be')); + charS.add(Character.valueOf('\ub2bf')); + charS.add(Character.valueOf('\ub2c0')); + charS.add(Character.valueOf('\ub2c1')); + charS.add(Character.valueOf('\ub2c2')); + charS.add(Character.valueOf('\ub2c3')); + charS.add(Character.valueOf('\ub2c4')); + charS.add(Character.valueOf('\ub2c5')); + charS.add(Character.valueOf('\ub2c6')); + charS.add(Character.valueOf('\ub2c7')); + charS.add(Character.valueOf('\ub2c8')); + charS.add(Character.valueOf('\ub2c9')); + charS.add(Character.valueOf('\ub2ca')); + charS.add(Character.valueOf('\ub2cb')); + charS.add(Character.valueOf('\ub2cc')); + charS.add(Character.valueOf('\ub2cd')); + charS.add(Character.valueOf('\ub2ce')); + charS.add(Character.valueOf('\ub2cf')); + charS.add(Character.valueOf('\ub2d0')); + charS.add(Character.valueOf('\ub2d1')); + charS.add(Character.valueOf('\ub2d2')); + charS.add(Character.valueOf('\ub2d3')); + charS.add(Character.valueOf('\ub2d4')); + charS.add(Character.valueOf('\ub2d5')); + charS.add(Character.valueOf('\ub2d6')); + charS.add(Character.valueOf('\ub2d7')); + charS.add(Character.valueOf('\ub2d8')); + charS.add(Character.valueOf('\ub2d9')); + charS.add(Character.valueOf('\ub2da')); + charS.add(Character.valueOf('\ub2db')); + charS.add(Character.valueOf('\ub2dc')); + charS.add(Character.valueOf('\ub2dd')); + charS.add(Character.valueOf('\ub2de')); + charS.add(Character.valueOf('\ub2df')); + charS.add(Character.valueOf('\ub2e0')); + charS.add(Character.valueOf('\ub2e1')); + charS.add(Character.valueOf('\ub2e2')); + charS.add(Character.valueOf('\ub2e3')); + charS.add(Character.valueOf('\ub2e4')); + charS.add(Character.valueOf('\ub2e5')); + charS.add(Character.valueOf('\ub2e6')); + charS.add(Character.valueOf('\ub2e7')); + charS.add(Character.valueOf('\ub2e8')); + charS.add(Character.valueOf('\ub2e9')); + charS.add(Character.valueOf('\ub2ea')); + charS.add(Character.valueOf('\ub2eb')); + charS.add(Character.valueOf('\ub2ec')); + charS.add(Character.valueOf('\ub2ed')); + charS.add(Character.valueOf('\ub2ee')); + charS.add(Character.valueOf('\ub2ef')); + charS.add(Character.valueOf('\ub2f0')); + charS.add(Character.valueOf('\ub2f1')); + charS.add(Character.valueOf('\ub2f2')); + charS.add(Character.valueOf('\ub2f3')); + charS.add(Character.valueOf('\ub2f4')); + charS.add(Character.valueOf('\ub2f5')); + charS.add(Character.valueOf('\ub2f6')); + charS.add(Character.valueOf('\ub2f7')); + charS.add(Character.valueOf('\ub2f8')); + charS.add(Character.valueOf('\ub2f9')); + charS.add(Character.valueOf('\ub2fa')); + charS.add(Character.valueOf('\ub2fb')); + charS.add(Character.valueOf('\ub2fc')); + charS.add(Character.valueOf('\ub2fd')); + charS.add(Character.valueOf('\ub2fe')); + charS.add(Character.valueOf('\ub2ff')); + charS.add(Character.valueOf('\ub300')); + charS.add(Character.valueOf('\ub301')); + charS.add(Character.valueOf('\ub302')); + charS.add(Character.valueOf('\ub303')); + charS.add(Character.valueOf('\ub304')); + charS.add(Character.valueOf('\ub305')); + charS.add(Character.valueOf('\ub306')); + charS.add(Character.valueOf('\ub307')); + charS.add(Character.valueOf('\ub308')); + charS.add(Character.valueOf('\ub309')); + charS.add(Character.valueOf('\ub30a')); + charS.add(Character.valueOf('\ub30b')); + charS.add(Character.valueOf('\ub30c')); + charS.add(Character.valueOf('\ub30d')); + charS.add(Character.valueOf('\ub30e')); + charS.add(Character.valueOf('\ub30f')); + charS.add(Character.valueOf('\ub310')); + charS.add(Character.valueOf('\ub311')); + charS.add(Character.valueOf('\ub312')); + charS.add(Character.valueOf('\ub313')); + charS.add(Character.valueOf('\ub314')); + charS.add(Character.valueOf('\ub315')); + charS.add(Character.valueOf('\ub316')); + charS.add(Character.valueOf('\ub317')); + charS.add(Character.valueOf('\ub318')); + charS.add(Character.valueOf('\ub319')); + charS.add(Character.valueOf('\ub31a')); + charS.add(Character.valueOf('\ub31b')); + charS.add(Character.valueOf('\ub31c')); + charS.add(Character.valueOf('\ub31d')); + charS.add(Character.valueOf('\ub31e')); + charS.add(Character.valueOf('\ub31f')); + charS.add(Character.valueOf('\ub320')); + charS.add(Character.valueOf('\ub321')); + charS.add(Character.valueOf('\ub322')); + charS.add(Character.valueOf('\ub323')); + charS.add(Character.valueOf('\ub324')); + charS.add(Character.valueOf('\ub325')); + charS.add(Character.valueOf('\ub326')); + charS.add(Character.valueOf('\ub327')); + charS.add(Character.valueOf('\ub328')); + charS.add(Character.valueOf('\ub329')); + charS.add(Character.valueOf('\ub32a')); + charS.add(Character.valueOf('\ub32b')); + charS.add(Character.valueOf('\ub32c')); + charS.add(Character.valueOf('\ub32d')); + charS.add(Character.valueOf('\ub32e')); + charS.add(Character.valueOf('\ub32f')); + charS.add(Character.valueOf('\ub330')); + charS.add(Character.valueOf('\ub331')); + charS.add(Character.valueOf('\ub332')); + charS.add(Character.valueOf('\ub333')); + charS.add(Character.valueOf('\ub334')); + charS.add(Character.valueOf('\ub335')); + charS.add(Character.valueOf('\ub336')); + charS.add(Character.valueOf('\ub337')); + charS.add(Character.valueOf('\ub338')); + charS.add(Character.valueOf('\ub339')); + charS.add(Character.valueOf('\ub33a')); + charS.add(Character.valueOf('\ub33b')); + charS.add(Character.valueOf('\ub33c')); + charS.add(Character.valueOf('\ub33d')); + charS.add(Character.valueOf('\ub33e')); + charS.add(Character.valueOf('\ub33f')); + charS.add(Character.valueOf('\ub340')); + charS.add(Character.valueOf('\ub341')); + charS.add(Character.valueOf('\ub342')); + charS.add(Character.valueOf('\ub343')); + charS.add(Character.valueOf('\ub344')); + charS.add(Character.valueOf('\ub345')); + charS.add(Character.valueOf('\ub346')); + charS.add(Character.valueOf('\ub347')); + charS.add(Character.valueOf('\ub348')); + charS.add(Character.valueOf('\ub349')); + charS.add(Character.valueOf('\ub34a')); + charS.add(Character.valueOf('\ub34b')); + charS.add(Character.valueOf('\ub34c')); + charS.add(Character.valueOf('\ub34d')); + charS.add(Character.valueOf('\ub34e')); + charS.add(Character.valueOf('\ub34f')); + charS.add(Character.valueOf('\ub350')); + charS.add(Character.valueOf('\ub351')); + charS.add(Character.valueOf('\ub352')); + charS.add(Character.valueOf('\ub353')); + charS.add(Character.valueOf('\ub354')); + charS.add(Character.valueOf('\ub355')); + charS.add(Character.valueOf('\ub356')); + charS.add(Character.valueOf('\ub357')); + charS.add(Character.valueOf('\ub358')); + charS.add(Character.valueOf('\ub359')); + charS.add(Character.valueOf('\ub35a')); + charS.add(Character.valueOf('\ub35b')); + charS.add(Character.valueOf('\ub35c')); + charS.add(Character.valueOf('\ub35d')); + charS.add(Character.valueOf('\ub35e')); + charS.add(Character.valueOf('\ub35f')); + charS.add(Character.valueOf('\ub360')); + charS.add(Character.valueOf('\ub361')); + charS.add(Character.valueOf('\ub362')); + charS.add(Character.valueOf('\ub363')); + charS.add(Character.valueOf('\ub364')); + charS.add(Character.valueOf('\ub365')); + charS.add(Character.valueOf('\ub366')); + charS.add(Character.valueOf('\ub367')); + charS.add(Character.valueOf('\ub368')); + charS.add(Character.valueOf('\ub369')); + charS.add(Character.valueOf('\ub36a')); + charS.add(Character.valueOf('\ub36b')); + charS.add(Character.valueOf('\ub36c')); + charS.add(Character.valueOf('\ub36d')); + charS.add(Character.valueOf('\ub36e')); + charS.add(Character.valueOf('\ub36f')); + charS.add(Character.valueOf('\ub370')); + charS.add(Character.valueOf('\ub371')); + charS.add(Character.valueOf('\ub372')); + charS.add(Character.valueOf('\ub373')); + charS.add(Character.valueOf('\ub374')); + charS.add(Character.valueOf('\ub375')); + charS.add(Character.valueOf('\ub376')); + charS.add(Character.valueOf('\ub377')); + charS.add(Character.valueOf('\ub378')); + charS.add(Character.valueOf('\ub379')); + charS.add(Character.valueOf('\ub37a')); + charS.add(Character.valueOf('\ub37b')); + charS.add(Character.valueOf('\ub37c')); + charS.add(Character.valueOf('\ub37d')); + charS.add(Character.valueOf('\ub37e')); + charS.add(Character.valueOf('\ub37f')); + charS.add(Character.valueOf('\ub380')); + charS.add(Character.valueOf('\ub381')); + charS.add(Character.valueOf('\ub382')); + charS.add(Character.valueOf('\ub383')); + charS.add(Character.valueOf('\ub384')); + charS.add(Character.valueOf('\ub385')); + charS.add(Character.valueOf('\ub386')); + charS.add(Character.valueOf('\ub387')); + charS.add(Character.valueOf('\ub388')); + charS.add(Character.valueOf('\ub389')); + charS.add(Character.valueOf('\ub38a')); + charS.add(Character.valueOf('\ub38b')); + charS.add(Character.valueOf('\ub38c')); + charS.add(Character.valueOf('\ub38d')); + charS.add(Character.valueOf('\ub38e')); + charS.add(Character.valueOf('\ub38f')); + charS.add(Character.valueOf('\ub390')); + charS.add(Character.valueOf('\ub391')); + charS.add(Character.valueOf('\ub392')); + charS.add(Character.valueOf('\ub393')); + charS.add(Character.valueOf('\ub394')); + charS.add(Character.valueOf('\ub395')); + charS.add(Character.valueOf('\ub396')); + charS.add(Character.valueOf('\ub397')); + charS.add(Character.valueOf('\ub398')); + charS.add(Character.valueOf('\ub399')); + charS.add(Character.valueOf('\ub39a')); + charS.add(Character.valueOf('\ub39b')); + charS.add(Character.valueOf('\ub39c')); + charS.add(Character.valueOf('\ub39d')); + charS.add(Character.valueOf('\ub39e')); + charS.add(Character.valueOf('\ub39f')); + charS.add(Character.valueOf('\ub3a0')); + charS.add(Character.valueOf('\ub3a1')); + charS.add(Character.valueOf('\ub3a2')); + charS.add(Character.valueOf('\ub3a3')); + charS.add(Character.valueOf('\ub3a4')); + charS.add(Character.valueOf('\ub3a5')); + charS.add(Character.valueOf('\ub3a6')); + charS.add(Character.valueOf('\ub3a7')); + charS.add(Character.valueOf('\ub3a8')); + charS.add(Character.valueOf('\ub3a9')); + charS.add(Character.valueOf('\ub3aa')); + charS.add(Character.valueOf('\ub3ab')); + charS.add(Character.valueOf('\ub3ac')); + charS.add(Character.valueOf('\ub3ad')); + charS.add(Character.valueOf('\ub3ae')); + charS.add(Character.valueOf('\ub3af')); + charS.add(Character.valueOf('\ub3b0')); + charS.add(Character.valueOf('\ub3b1')); + charS.add(Character.valueOf('\ub3b2')); + charS.add(Character.valueOf('\ub3b3')); + charS.add(Character.valueOf('\ub3b4')); + charS.add(Character.valueOf('\ub3b5')); + charS.add(Character.valueOf('\ub3b6')); + charS.add(Character.valueOf('\ub3b7')); + charS.add(Character.valueOf('\ub3b8')); + charS.add(Character.valueOf('\ub3b9')); + charS.add(Character.valueOf('\ub3ba')); + charS.add(Character.valueOf('\ub3bb')); + charS.add(Character.valueOf('\ub3bc')); + charS.add(Character.valueOf('\ub33d')); + charS.add(Character.valueOf('\ub3be')); + charS.add(Character.valueOf('\ub3bf')); + charS.add(Character.valueOf('\ub3c0')); + charS.add(Character.valueOf('\ub3c1')); + charS.add(Character.valueOf('\ub3c2')); + charS.add(Character.valueOf('\ub3c3')); + charS.add(Character.valueOf('\ub3c4')); + charS.add(Character.valueOf('\ub3c5')); + charS.add(Character.valueOf('\ub3c6')); + charS.add(Character.valueOf('\ub3c7')); + charS.add(Character.valueOf('\ub3c8')); + charS.add(Character.valueOf('\ub3c9')); + charS.add(Character.valueOf('\ub3ca')); + charS.add(Character.valueOf('\ub3cb')); + charS.add(Character.valueOf('\ub3cc')); + charS.add(Character.valueOf('\ub3cd')); + charS.add(Character.valueOf('\ub3ce')); + charS.add(Character.valueOf('\ub3cf')); + charS.add(Character.valueOf('\ub3d0')); + charS.add(Character.valueOf('\ub3d1')); + charS.add(Character.valueOf('\ub3d2')); + charS.add(Character.valueOf('\ub3d3')); + charS.add(Character.valueOf('\ub3d4')); + charS.add(Character.valueOf('\ub3d5')); + charS.add(Character.valueOf('\ub3d6')); + charS.add(Character.valueOf('\ub3d7')); + charS.add(Character.valueOf('\ub3d8')); + charS.add(Character.valueOf('\ub3d9')); + charS.add(Character.valueOf('\ub3da')); + charS.add(Character.valueOf('\ub3db')); + charS.add(Character.valueOf('\ub3dc')); + charS.add(Character.valueOf('\ub3dd')); + charS.add(Character.valueOf('\ub3de')); + charS.add(Character.valueOf('\ub3df')); + charS.add(Character.valueOf('\ub3e0')); + charS.add(Character.valueOf('\ub3e1')); + charS.add(Character.valueOf('\ub3e2')); + charS.add(Character.valueOf('\ub3e3')); + charS.add(Character.valueOf('\ub3e4')); + charS.add(Character.valueOf('\ub3e5')); + charS.add(Character.valueOf('\ub3e6')); + charS.add(Character.valueOf('\ub3e7')); + charS.add(Character.valueOf('\ub3e8')); + charS.add(Character.valueOf('\ub3e9')); + charS.add(Character.valueOf('\ub3ea')); + charS.add(Character.valueOf('\ub3eb')); + charS.add(Character.valueOf('\ub3ec')); + charS.add(Character.valueOf('\ub3ed')); + charS.add(Character.valueOf('\ub3ee')); + charS.add(Character.valueOf('\ub3ef')); + charS.add(Character.valueOf('\ub3f0')); + charS.add(Character.valueOf('\ub3f1')); + charS.add(Character.valueOf('\ub3f2')); + charS.add(Character.valueOf('\ub3f3')); + charS.add(Character.valueOf('\ub3f4')); + charS.add(Character.valueOf('\ub3f5')); + charS.add(Character.valueOf('\ub3f6')); + charS.add(Character.valueOf('\ub3f7')); + charS.add(Character.valueOf('\ub3f8')); + charS.add(Character.valueOf('\ub3f9')); + charS.add(Character.valueOf('\ub3fa')); + charS.add(Character.valueOf('\ub3fb')); + charS.add(Character.valueOf('\ub3fc')); + charS.add(Character.valueOf('\ub3fd')); + charS.add(Character.valueOf('\ub3fe')); + charS.add(Character.valueOf('\ub3ff')); + charS.add(Character.valueOf('\ub400')); + charS.add(Character.valueOf('\ub401')); + charS.add(Character.valueOf('\ub402')); + charS.add(Character.valueOf('\ub403')); + charS.add(Character.valueOf('\ub404')); + charS.add(Character.valueOf('\ub405')); + charS.add(Character.valueOf('\ub406')); + charS.add(Character.valueOf('\ub407')); + charS.add(Character.valueOf('\ub408')); + charS.add(Character.valueOf('\ub409')); + charS.add(Character.valueOf('\ub40a')); + charS.add(Character.valueOf('\ub40b')); + charS.add(Character.valueOf('\ub40c')); + charS.add(Character.valueOf('\ub40d')); + charS.add(Character.valueOf('\ub40e')); + charS.add(Character.valueOf('\ub40f')); + charS.add(Character.valueOf('\ub410')); + charS.add(Character.valueOf('\ub411')); + charS.add(Character.valueOf('\ub412')); + charS.add(Character.valueOf('\ub413')); + charS.add(Character.valueOf('\ub414')); + charS.add(Character.valueOf('\ub415')); + charS.add(Character.valueOf('\ub416')); + charS.add(Character.valueOf('\ub417')); + charS.add(Character.valueOf('\ub418')); + charS.add(Character.valueOf('\ub419')); + charS.add(Character.valueOf('\ub41a')); + charS.add(Character.valueOf('\ub41b')); + charS.add(Character.valueOf('\ub41c')); + charS.add(Character.valueOf('\ub41d')); + charS.add(Character.valueOf('\ub41e')); + charS.add(Character.valueOf('\ub41f')); + charS.add(Character.valueOf('\ub420')); + charS.add(Character.valueOf('\ub421')); + charS.add(Character.valueOf('\ub422')); + charS.add(Character.valueOf('\ub423')); + charS.add(Character.valueOf('\ub424')); + charS.add(Character.valueOf('\ub425')); + charS.add(Character.valueOf('\ub426')); + charS.add(Character.valueOf('\ub427')); + charS.add(Character.valueOf('\ub428')); + charS.add(Character.valueOf('\ub429')); + charS.add(Character.valueOf('\ub42a')); + charS.add(Character.valueOf('\ub42b')); + charS.add(Character.valueOf('\ub42c')); + charS.add(Character.valueOf('\ub42d')); + charS.add(Character.valueOf('\ub42e')); + charS.add(Character.valueOf('\ub42f')); + charS.add(Character.valueOf('\ub430')); + charS.add(Character.valueOf('\ub431')); + charS.add(Character.valueOf('\ub432')); + charS.add(Character.valueOf('\ub433')); + charS.add(Character.valueOf('\ub434')); + charS.add(Character.valueOf('\ub435')); + charS.add(Character.valueOf('\ub436')); + charS.add(Character.valueOf('\ub437')); + charS.add(Character.valueOf('\ub438')); + charS.add(Character.valueOf('\ub439')); + charS.add(Character.valueOf('\ub43a')); + charS.add(Character.valueOf('\ub43b')); + charS.add(Character.valueOf('\ub43c')); + charS.add(Character.valueOf('\ub43d')); + charS.add(Character.valueOf('\ub43e')); + charS.add(Character.valueOf('\ub43f')); + charS.add(Character.valueOf('\ub440')); + charS.add(Character.valueOf('\ub441')); + charS.add(Character.valueOf('\ub442')); + charS.add(Character.valueOf('\ub443')); + charS.add(Character.valueOf('\ub444')); + charS.add(Character.valueOf('\ub445')); + charS.add(Character.valueOf('\ub446')); + charS.add(Character.valueOf('\ub447')); + charS.add(Character.valueOf('\ub448')); + charS.add(Character.valueOf('\ub449')); + charS.add(Character.valueOf('\ub44a')); + charS.add(Character.valueOf('\ub44b')); + charS.add(Character.valueOf('\ub44c')); + charS.add(Character.valueOf('\ub44d')); + charS.add(Character.valueOf('\ub44e')); + charS.add(Character.valueOf('\ub44f')); + charS.add(Character.valueOf('\ub450')); + charS.add(Character.valueOf('\ub451')); + charS.add(Character.valueOf('\ub452')); + charS.add(Character.valueOf('\ub453')); + charS.add(Character.valueOf('\ub454')); + charS.add(Character.valueOf('\ub455')); + charS.add(Character.valueOf('\ub456')); + charS.add(Character.valueOf('\ub457')); + charS.add(Character.valueOf('\ub458')); + charS.add(Character.valueOf('\ub459')); + charS.add(Character.valueOf('\ub45a')); + charS.add(Character.valueOf('\ub45b')); + charS.add(Character.valueOf('\ub45c')); + charS.add(Character.valueOf('\ub45d')); + charS.add(Character.valueOf('\ub45e')); + charS.add(Character.valueOf('\ub45f')); + charS.add(Character.valueOf('\ub460')); + charS.add(Character.valueOf('\ub461')); + charS.add(Character.valueOf('\ub462')); + charS.add(Character.valueOf('\ub463')); + charS.add(Character.valueOf('\ub464')); + charS.add(Character.valueOf('\ub465')); + charS.add(Character.valueOf('\ub466')); + charS.add(Character.valueOf('\ub467')); + charS.add(Character.valueOf('\ub468')); + charS.add(Character.valueOf('\ub469')); + charS.add(Character.valueOf('\ub46a')); + charS.add(Character.valueOf('\ub46b')); + charS.add(Character.valueOf('\ub46c')); + charS.add(Character.valueOf('\ub46d')); + charS.add(Character.valueOf('\ub46e')); + charS.add(Character.valueOf('\ub46f')); + charS.add(Character.valueOf('\ub470')); + charS.add(Character.valueOf('\ub471')); + charS.add(Character.valueOf('\ub472')); + charS.add(Character.valueOf('\ub473')); + charS.add(Character.valueOf('\ub474')); + charS.add(Character.valueOf('\ub475')); + charS.add(Character.valueOf('\ub476')); + charS.add(Character.valueOf('\ub477')); + charS.add(Character.valueOf('\ub478')); + charS.add(Character.valueOf('\ub479')); + charS.add(Character.valueOf('\ub47a')); + charS.add(Character.valueOf('\ub47b')); + charS.add(Character.valueOf('\ub47c')); + charS.add(Character.valueOf('\ub47d')); + charS.add(Character.valueOf('\ub47e')); + charS.add(Character.valueOf('\ub47f')); + charS.add(Character.valueOf('\ub480')); + charS.add(Character.valueOf('\ub481')); + charS.add(Character.valueOf('\ub482')); + charS.add(Character.valueOf('\ub483')); + charS.add(Character.valueOf('\ub484')); + charS.add(Character.valueOf('\ub485')); + charS.add(Character.valueOf('\ub486')); + charS.add(Character.valueOf('\ub487')); + charS.add(Character.valueOf('\ub488')); + charS.add(Character.valueOf('\ub489')); + charS.add(Character.valueOf('\ub48a')); + charS.add(Character.valueOf('\ub48b')); + charS.add(Character.valueOf('\ub48c')); + charS.add(Character.valueOf('\ub48d')); + charS.add(Character.valueOf('\ub48e')); + charS.add(Character.valueOf('\ub48f')); + charS.add(Character.valueOf('\ub490')); + charS.add(Character.valueOf('\ub491')); + charS.add(Character.valueOf('\ub492')); + charS.add(Character.valueOf('\ub493')); + charS.add(Character.valueOf('\ub494')); + charS.add(Character.valueOf('\ub495')); + charS.add(Character.valueOf('\ub496')); + charS.add(Character.valueOf('\ub497')); + charS.add(Character.valueOf('\ub498')); + charS.add(Character.valueOf('\ub499')); + charS.add(Character.valueOf('\ub49a')); + charS.add(Character.valueOf('\ub49b')); + charS.add(Character.valueOf('\ub49c')); + charS.add(Character.valueOf('\ub49d')); + charS.add(Character.valueOf('\ub49e')); + charS.add(Character.valueOf('\ub49f')); + charS.add(Character.valueOf('\ub4a0')); + charS.add(Character.valueOf('\ub4a1')); + charS.add(Character.valueOf('\ub4a2')); + charS.add(Character.valueOf('\ub4a3')); + charS.add(Character.valueOf('\ub4a4')); + charS.add(Character.valueOf('\ub4a5')); + charS.add(Character.valueOf('\ub4a6')); + charS.add(Character.valueOf('\ub4a7')); + charS.add(Character.valueOf('\ub4a8')); + charS.add(Character.valueOf('\ub4a9')); + charS.add(Character.valueOf('\ub4aa')); + charS.add(Character.valueOf('\ub4ab')); + charS.add(Character.valueOf('\ub4ac')); + charS.add(Character.valueOf('\ub4ad')); + charS.add(Character.valueOf('\ub4ae')); + charS.add(Character.valueOf('\ub4af')); + charS.add(Character.valueOf('\ub4b0')); + charS.add(Character.valueOf('\ub4b1')); + charS.add(Character.valueOf('\ub4b2')); + charS.add(Character.valueOf('\ub4b3')); + charS.add(Character.valueOf('\ub4b4')); + charS.add(Character.valueOf('\ub4b5')); + charS.add(Character.valueOf('\ub4b6')); + charS.add(Character.valueOf('\ub4b7')); + charS.add(Character.valueOf('\ub4b8')); + charS.add(Character.valueOf('\ub4b9')); + charS.add(Character.valueOf('\ub4ba')); + charS.add(Character.valueOf('\ub4bb')); + charS.add(Character.valueOf('\ub4bc')); + charS.add(Character.valueOf('\ub43d')); + charS.add(Character.valueOf('\ub4be')); + charS.add(Character.valueOf('\ub4bf')); + charS.add(Character.valueOf('\ub4c0')); + charS.add(Character.valueOf('\ub4c1')); + charS.add(Character.valueOf('\ub4c2')); + charS.add(Character.valueOf('\ub4c3')); + charS.add(Character.valueOf('\ub4c4')); + charS.add(Character.valueOf('\ub4c5')); + charS.add(Character.valueOf('\ub4c6')); + charS.add(Character.valueOf('\ub4c7')); + charS.add(Character.valueOf('\ub4c8')); + charS.add(Character.valueOf('\ub4c9')); + charS.add(Character.valueOf('\ub4ca')); + charS.add(Character.valueOf('\ub4cb')); + charS.add(Character.valueOf('\ub4cc')); + charS.add(Character.valueOf('\ub4cd')); + charS.add(Character.valueOf('\ub4ce')); + charS.add(Character.valueOf('\ub4cf')); + charS.add(Character.valueOf('\ub4d0')); + charS.add(Character.valueOf('\ub4d1')); + charS.add(Character.valueOf('\ub4d2')); + charS.add(Character.valueOf('\ub4d3')); + charS.add(Character.valueOf('\ub4d4')); + charS.add(Character.valueOf('\ub4d5')); + charS.add(Character.valueOf('\ub4d6')); + charS.add(Character.valueOf('\ub4d7')); + charS.add(Character.valueOf('\ub4d8')); + charS.add(Character.valueOf('\ub4d9')); + charS.add(Character.valueOf('\ub4da')); + charS.add(Character.valueOf('\ub4db')); + charS.add(Character.valueOf('\ub4dc')); + charS.add(Character.valueOf('\ub4dd')); + charS.add(Character.valueOf('\ub4de')); + charS.add(Character.valueOf('\ub4df')); + charS.add(Character.valueOf('\ub4e0')); + charS.add(Character.valueOf('\ub4e1')); + charS.add(Character.valueOf('\ub4e2')); + charS.add(Character.valueOf('\ub4e3')); + charS.add(Character.valueOf('\ub4e4')); + charS.add(Character.valueOf('\ub4e5')); + charS.add(Character.valueOf('\ub4e6')); + charS.add(Character.valueOf('\ub4e7')); + charS.add(Character.valueOf('\ub4e8')); + charS.add(Character.valueOf('\ub4e9')); + charS.add(Character.valueOf('\ub4ea')); + charS.add(Character.valueOf('\ub4eb')); + charS.add(Character.valueOf('\ub4ec')); + charS.add(Character.valueOf('\ub4ed')); + charS.add(Character.valueOf('\ub4ee')); + charS.add(Character.valueOf('\ub4ef')); + charS.add(Character.valueOf('\ub4f0')); + charS.add(Character.valueOf('\ub4f1')); + charS.add(Character.valueOf('\ub4f2')); + charS.add(Character.valueOf('\ub4f3')); + charS.add(Character.valueOf('\ub4f4')); + charS.add(Character.valueOf('\ub4f5')); + charS.add(Character.valueOf('\ub4f6')); + charS.add(Character.valueOf('\ub4f7')); + charS.add(Character.valueOf('\ub4f8')); + charS.add(Character.valueOf('\ub4f9')); + charS.add(Character.valueOf('\ub4fa')); + charS.add(Character.valueOf('\ub4fb')); + charS.add(Character.valueOf('\ub4fc')); + charS.add(Character.valueOf('\ub4fd')); + charS.add(Character.valueOf('\ub4fe')); + charS.add(Character.valueOf('\ub4ff')); + charS.add(Character.valueOf('\ub500')); + charS.add(Character.valueOf('\ub501')); + charS.add(Character.valueOf('\ub502')); + charS.add(Character.valueOf('\ub503')); + charS.add(Character.valueOf('\ub504')); + charS.add(Character.valueOf('\ub505')); + charS.add(Character.valueOf('\ub506')); + charS.add(Character.valueOf('\ub507')); + charS.add(Character.valueOf('\ub508')); + charS.add(Character.valueOf('\ub509')); + charS.add(Character.valueOf('\ub50a')); + charS.add(Character.valueOf('\ub50b')); + charS.add(Character.valueOf('\ub50c')); + charS.add(Character.valueOf('\ub50d')); + charS.add(Character.valueOf('\ub50e')); + charS.add(Character.valueOf('\ub50f')); + charS.add(Character.valueOf('\ub510')); + charS.add(Character.valueOf('\ub511')); + charS.add(Character.valueOf('\ub512')); + charS.add(Character.valueOf('\ub513')); + charS.add(Character.valueOf('\ub514')); + charS.add(Character.valueOf('\ub515')); + charS.add(Character.valueOf('\ub516')); + charS.add(Character.valueOf('\ub517')); + charS.add(Character.valueOf('\ub518')); + charS.add(Character.valueOf('\ub519')); + charS.add(Character.valueOf('\ub51a')); + charS.add(Character.valueOf('\ub51b')); + charS.add(Character.valueOf('\ub51c')); + charS.add(Character.valueOf('\ub51d')); + charS.add(Character.valueOf('\ub51e')); + charS.add(Character.valueOf('\ub51f')); + charS.add(Character.valueOf('\ub520')); + charS.add(Character.valueOf('\ub521')); + charS.add(Character.valueOf('\ub522')); + charS.add(Character.valueOf('\ub523')); + charS.add(Character.valueOf('\ub524')); + charS.add(Character.valueOf('\ub525')); + charS.add(Character.valueOf('\ub526')); + charS.add(Character.valueOf('\ub527')); + charS.add(Character.valueOf('\ub528')); + charS.add(Character.valueOf('\ub529')); + charS.add(Character.valueOf('\ub52a')); + charS.add(Character.valueOf('\ub52b')); + charS.add(Character.valueOf('\ub52c')); + charS.add(Character.valueOf('\ub52d')); + charS.add(Character.valueOf('\ub52e')); + charS.add(Character.valueOf('\ub52f')); + charS.add(Character.valueOf('\ub530')); + charS.add(Character.valueOf('\ub531')); + charS.add(Character.valueOf('\ub532')); + charS.add(Character.valueOf('\ub533')); + charS.add(Character.valueOf('\ub534')); + charS.add(Character.valueOf('\ub535')); + charS.add(Character.valueOf('\ub536')); + charS.add(Character.valueOf('\ub537')); + charS.add(Character.valueOf('\ub538')); + charS.add(Character.valueOf('\ub539')); + charS.add(Character.valueOf('\ub53a')); + charS.add(Character.valueOf('\ub53b')); + charS.add(Character.valueOf('\ub53c')); + charS.add(Character.valueOf('\ub53d')); + charS.add(Character.valueOf('\ub53e')); + charS.add(Character.valueOf('\ub53f')); + charS.add(Character.valueOf('\ub540')); + charS.add(Character.valueOf('\ub541')); + charS.add(Character.valueOf('\ub542')); + charS.add(Character.valueOf('\ub543')); + charS.add(Character.valueOf('\ub544')); + charS.add(Character.valueOf('\ub545')); + charS.add(Character.valueOf('\ub546')); + charS.add(Character.valueOf('\ub547')); + charS.add(Character.valueOf('\ub548')); + charS.add(Character.valueOf('\ub549')); + charS.add(Character.valueOf('\ub54a')); + charS.add(Character.valueOf('\ub54b')); + charS.add(Character.valueOf('\ub54c')); + charS.add(Character.valueOf('\ub54d')); + charS.add(Character.valueOf('\ub54e')); + charS.add(Character.valueOf('\ub54f')); + charS.add(Character.valueOf('\ub550')); + charS.add(Character.valueOf('\ub551')); + charS.add(Character.valueOf('\ub552')); + charS.add(Character.valueOf('\ub553')); + charS.add(Character.valueOf('\ub554')); + charS.add(Character.valueOf('\ub555')); + charS.add(Character.valueOf('\ub556')); + charS.add(Character.valueOf('\ub557')); + charS.add(Character.valueOf('\ub558')); + charS.add(Character.valueOf('\ub559')); + charS.add(Character.valueOf('\ub55a')); + charS.add(Character.valueOf('\ub55b')); + charS.add(Character.valueOf('\ub55c')); + charS.add(Character.valueOf('\ub55d')); + charS.add(Character.valueOf('\ub55e')); + charS.add(Character.valueOf('\ub55f')); + charS.add(Character.valueOf('\ub560')); + charS.add(Character.valueOf('\ub561')); + charS.add(Character.valueOf('\ub562')); + charS.add(Character.valueOf('\ub563')); + charS.add(Character.valueOf('\ub564')); + charS.add(Character.valueOf('\ub565')); + charS.add(Character.valueOf('\ub566')); + charS.add(Character.valueOf('\ub567')); + charS.add(Character.valueOf('\ub568')); + charS.add(Character.valueOf('\ub569')); + charS.add(Character.valueOf('\ub56a')); + charS.add(Character.valueOf('\ub56b')); + charS.add(Character.valueOf('\ub56c')); + charS.add(Character.valueOf('\ub56d')); + charS.add(Character.valueOf('\ub56e')); + charS.add(Character.valueOf('\ub56f')); + charS.add(Character.valueOf('\ub570')); + charS.add(Character.valueOf('\ub571')); + charS.add(Character.valueOf('\ub572')); + charS.add(Character.valueOf('\ub573')); + charS.add(Character.valueOf('\ub574')); + charS.add(Character.valueOf('\ub575')); + charS.add(Character.valueOf('\ub576')); + charS.add(Character.valueOf('\ub577')); + charS.add(Character.valueOf('\ub578')); + charS.add(Character.valueOf('\ub579')); + charS.add(Character.valueOf('\ub57a')); + charS.add(Character.valueOf('\ub57b')); + charS.add(Character.valueOf('\ub57c')); + charS.add(Character.valueOf('\ub57d')); + charS.add(Character.valueOf('\ub57e')); + charS.add(Character.valueOf('\ub57f')); + charS.add(Character.valueOf('\ub580')); + charS.add(Character.valueOf('\ub581')); + charS.add(Character.valueOf('\ub582')); + charS.add(Character.valueOf('\ub583')); + charS.add(Character.valueOf('\ub584')); + charS.add(Character.valueOf('\ub585')); + charS.add(Character.valueOf('\ub586')); + charS.add(Character.valueOf('\ub587')); + charS.add(Character.valueOf('\ub588')); + charS.add(Character.valueOf('\ub589')); + charS.add(Character.valueOf('\ub58a')); + charS.add(Character.valueOf('\ub58b')); + charS.add(Character.valueOf('\ub58c')); + charS.add(Character.valueOf('\ub58d')); + charS.add(Character.valueOf('\ub58e')); + charS.add(Character.valueOf('\ub58f')); + charS.add(Character.valueOf('\ub590')); + charS.add(Character.valueOf('\ub591')); + charS.add(Character.valueOf('\ub592')); + charS.add(Character.valueOf('\ub593')); + charS.add(Character.valueOf('\ub594')); + charS.add(Character.valueOf('\ub595')); + charS.add(Character.valueOf('\ub596')); + charS.add(Character.valueOf('\ub597')); + charS.add(Character.valueOf('\ub598')); + charS.add(Character.valueOf('\ub599')); + charS.add(Character.valueOf('\ub59a')); + charS.add(Character.valueOf('\ub59b')); + charS.add(Character.valueOf('\ub59c')); + charS.add(Character.valueOf('\ub59d')); + charS.add(Character.valueOf('\ub59e')); + charS.add(Character.valueOf('\ub59f')); + charS.add(Character.valueOf('\ub5a0')); + charS.add(Character.valueOf('\ub5a1')); + charS.add(Character.valueOf('\ub5a2')); + charS.add(Character.valueOf('\ub5a3')); + charS.add(Character.valueOf('\ub5a4')); + charS.add(Character.valueOf('\ub5a5')); + charS.add(Character.valueOf('\ub5a6')); + charS.add(Character.valueOf('\ub5a7')); + charS.add(Character.valueOf('\ub5a8')); + charS.add(Character.valueOf('\ub5a9')); + charS.add(Character.valueOf('\ub5aa')); + charS.add(Character.valueOf('\ub5ab')); + charS.add(Character.valueOf('\ub5ac')); + charS.add(Character.valueOf('\ub5ad')); + charS.add(Character.valueOf('\ub5ae')); + charS.add(Character.valueOf('\ub5af')); + charS.add(Character.valueOf('\ub5b0')); + charS.add(Character.valueOf('\ub5b1')); + charS.add(Character.valueOf('\ub5b2')); + charS.add(Character.valueOf('\ub5b3')); + charS.add(Character.valueOf('\ub5b4')); + charS.add(Character.valueOf('\ub5b5')); + charS.add(Character.valueOf('\ub5b6')); + charS.add(Character.valueOf('\ub5b7')); + charS.add(Character.valueOf('\ub5b8')); + charS.add(Character.valueOf('\ub5b9')); + charS.add(Character.valueOf('\ub5ba')); + charS.add(Character.valueOf('\ub5bb')); + charS.add(Character.valueOf('\ub5bc')); + charS.add(Character.valueOf('\ub53d')); + charS.add(Character.valueOf('\ub5be')); + charS.add(Character.valueOf('\ub5bf')); + charS.add(Character.valueOf('\ub5c0')); + charS.add(Character.valueOf('\ub5c1')); + charS.add(Character.valueOf('\ub5c2')); + charS.add(Character.valueOf('\ub5c3')); + charS.add(Character.valueOf('\ub5c4')); + charS.add(Character.valueOf('\ub5c5')); + charS.add(Character.valueOf('\ub5c6')); + charS.add(Character.valueOf('\ub5c7')); + charS.add(Character.valueOf('\ub5c8')); + charS.add(Character.valueOf('\ub5c9')); + charS.add(Character.valueOf('\ub5ca')); + charS.add(Character.valueOf('\ub5cb')); + charS.add(Character.valueOf('\ub5cc')); + charS.add(Character.valueOf('\ub5cd')); + charS.add(Character.valueOf('\ub5ce')); + charS.add(Character.valueOf('\ub5cf')); + charS.add(Character.valueOf('\ub5d0')); + charS.add(Character.valueOf('\ub5d1')); + charS.add(Character.valueOf('\ub5d2')); + charS.add(Character.valueOf('\ub5d3')); + charS.add(Character.valueOf('\ub5d4')); + charS.add(Character.valueOf('\ub5d5')); + charS.add(Character.valueOf('\ub5d6')); + charS.add(Character.valueOf('\ub5d7')); + charS.add(Character.valueOf('\ub5d8')); + charS.add(Character.valueOf('\ub5d9')); + charS.add(Character.valueOf('\ub5da')); + charS.add(Character.valueOf('\ub5db')); + charS.add(Character.valueOf('\ub5dc')); + charS.add(Character.valueOf('\ub5dd')); + charS.add(Character.valueOf('\ub5de')); + charS.add(Character.valueOf('\ub5df')); + charS.add(Character.valueOf('\ub5e0')); + charS.add(Character.valueOf('\ub5e1')); + charS.add(Character.valueOf('\ub5e2')); + charS.add(Character.valueOf('\ub5e3')); + charS.add(Character.valueOf('\ub5e4')); + charS.add(Character.valueOf('\ub5e5')); + charS.add(Character.valueOf('\ub5e6')); + charS.add(Character.valueOf('\ub5e7')); + charS.add(Character.valueOf('\ub5e8')); + charS.add(Character.valueOf('\ub5e9')); + charS.add(Character.valueOf('\ub5ea')); + charS.add(Character.valueOf('\ub5eb')); + charS.add(Character.valueOf('\ub5ec')); + charS.add(Character.valueOf('\ub5ed')); + charS.add(Character.valueOf('\ub5ee')); + charS.add(Character.valueOf('\ub5ef')); + charS.add(Character.valueOf('\ub5f0')); + charS.add(Character.valueOf('\ub5f1')); + charS.add(Character.valueOf('\ub5f2')); + charS.add(Character.valueOf('\ub5f3')); + charS.add(Character.valueOf('\ub5f4')); + charS.add(Character.valueOf('\ub5f5')); + charS.add(Character.valueOf('\ub5f6')); + charS.add(Character.valueOf('\ub5f7')); + charS.add(Character.valueOf('\ub5f8')); + charS.add(Character.valueOf('\ub5f9')); + charS.add(Character.valueOf('\ub5fa')); + charS.add(Character.valueOf('\ub5fb')); + charS.add(Character.valueOf('\ub5fc')); + charS.add(Character.valueOf('\ub5fd')); + charS.add(Character.valueOf('\ub5fe')); + charS.add(Character.valueOf('\ub5ff')); + charS.add(Character.valueOf('\ub600')); + charS.add(Character.valueOf('\ub601')); + charS.add(Character.valueOf('\ub602')); + charS.add(Character.valueOf('\ub603')); + charS.add(Character.valueOf('\ub604')); + charS.add(Character.valueOf('\ub605')); + charS.add(Character.valueOf('\ub606')); + charS.add(Character.valueOf('\ub607')); + charS.add(Character.valueOf('\ub608')); + charS.add(Character.valueOf('\ub609')); + charS.add(Character.valueOf('\ub60a')); + charS.add(Character.valueOf('\ub60b')); + charS.add(Character.valueOf('\ub60c')); + charS.add(Character.valueOf('\ub60d')); + charS.add(Character.valueOf('\ub60e')); + charS.add(Character.valueOf('\ub60f')); + charS.add(Character.valueOf('\ub610')); + charS.add(Character.valueOf('\ub611')); + charS.add(Character.valueOf('\ub612')); + charS.add(Character.valueOf('\ub613')); + charS.add(Character.valueOf('\ub614')); + charS.add(Character.valueOf('\ub615')); + charS.add(Character.valueOf('\ub616')); + charS.add(Character.valueOf('\ub617')); + charS.add(Character.valueOf('\ub618')); + charS.add(Character.valueOf('\ub619')); + charS.add(Character.valueOf('\ub61a')); + charS.add(Character.valueOf('\ub61b')); + charS.add(Character.valueOf('\ub61c')); + charS.add(Character.valueOf('\ub61d')); + charS.add(Character.valueOf('\ub61e')); + charS.add(Character.valueOf('\ub61f')); + charS.add(Character.valueOf('\ub620')); + charS.add(Character.valueOf('\ub621')); + charS.add(Character.valueOf('\ub622')); + charS.add(Character.valueOf('\ub623')); + charS.add(Character.valueOf('\ub624')); + charS.add(Character.valueOf('\ub625')); + charS.add(Character.valueOf('\ub626')); + charS.add(Character.valueOf('\ub627')); + charS.add(Character.valueOf('\ub628')); + charS.add(Character.valueOf('\ub629')); + charS.add(Character.valueOf('\ub62a')); + charS.add(Character.valueOf('\ub62b')); + charS.add(Character.valueOf('\ub62c')); + charS.add(Character.valueOf('\ub62d')); + charS.add(Character.valueOf('\ub62e')); + charS.add(Character.valueOf('\ub62f')); + charS.add(Character.valueOf('\ub630')); + charS.add(Character.valueOf('\ub631')); + charS.add(Character.valueOf('\ub632')); + charS.add(Character.valueOf('\ub633')); + charS.add(Character.valueOf('\ub634')); + charS.add(Character.valueOf('\ub635')); + charS.add(Character.valueOf('\ub636')); + charS.add(Character.valueOf('\ub637')); + charS.add(Character.valueOf('\ub638')); + charS.add(Character.valueOf('\ub639')); + charS.add(Character.valueOf('\ub63a')); + charS.add(Character.valueOf('\ub63b')); + charS.add(Character.valueOf('\ub63c')); + charS.add(Character.valueOf('\ub63d')); + charS.add(Character.valueOf('\ub63e')); + charS.add(Character.valueOf('\ub63f')); + charS.add(Character.valueOf('\ub640')); + charS.add(Character.valueOf('\ub641')); + charS.add(Character.valueOf('\ub642')); + charS.add(Character.valueOf('\ub643')); + charS.add(Character.valueOf('\ub644')); + charS.add(Character.valueOf('\ub645')); + charS.add(Character.valueOf('\ub646')); + charS.add(Character.valueOf('\ub647')); + charS.add(Character.valueOf('\ub648')); + charS.add(Character.valueOf('\ub649')); + charS.add(Character.valueOf('\ub64a')); + charS.add(Character.valueOf('\ub64b')); + charS.add(Character.valueOf('\ub64c')); + charS.add(Character.valueOf('\ub64d')); + charS.add(Character.valueOf('\ub64e')); + charS.add(Character.valueOf('\ub64f')); + charS.add(Character.valueOf('\ub650')); + charS.add(Character.valueOf('\ub651')); + charS.add(Character.valueOf('\ub652')); + charS.add(Character.valueOf('\ub653')); + charS.add(Character.valueOf('\ub654')); + charS.add(Character.valueOf('\ub655')); + charS.add(Character.valueOf('\ub656')); + charS.add(Character.valueOf('\ub657')); + charS.add(Character.valueOf('\ub658')); + charS.add(Character.valueOf('\ub659')); + charS.add(Character.valueOf('\ub65a')); + charS.add(Character.valueOf('\ub65b')); + charS.add(Character.valueOf('\ub65c')); + charS.add(Character.valueOf('\ub65d')); + charS.add(Character.valueOf('\ub65e')); + charS.add(Character.valueOf('\ub65f')); + charS.add(Character.valueOf('\ub660')); + charS.add(Character.valueOf('\ub661')); + charS.add(Character.valueOf('\ub662')); + charS.add(Character.valueOf('\ub663')); + charS.add(Character.valueOf('\ub664')); + charS.add(Character.valueOf('\ub665')); + charS.add(Character.valueOf('\ub666')); + charS.add(Character.valueOf('\ub667')); + charS.add(Character.valueOf('\ub668')); + charS.add(Character.valueOf('\ub669')); + charS.add(Character.valueOf('\ub66a')); + charS.add(Character.valueOf('\ub66b')); + charS.add(Character.valueOf('\ub66c')); + charS.add(Character.valueOf('\ub66d')); + charS.add(Character.valueOf('\ub66e')); + charS.add(Character.valueOf('\ub66f')); + charS.add(Character.valueOf('\ub670')); + charS.add(Character.valueOf('\ub671')); + charS.add(Character.valueOf('\ub672')); + charS.add(Character.valueOf('\ub673')); + charS.add(Character.valueOf('\ub674')); + charS.add(Character.valueOf('\ub675')); + charS.add(Character.valueOf('\ub676')); + charS.add(Character.valueOf('\ub677')); + charS.add(Character.valueOf('\ub678')); + charS.add(Character.valueOf('\ub679')); + charS.add(Character.valueOf('\ub67a')); + charS.add(Character.valueOf('\ub67b')); + charS.add(Character.valueOf('\ub67c')); + charS.add(Character.valueOf('\ub67d')); + charS.add(Character.valueOf('\ub67e')); + charS.add(Character.valueOf('\ub67f')); + charS.add(Character.valueOf('\ub680')); + charS.add(Character.valueOf('\ub681')); + charS.add(Character.valueOf('\ub682')); + charS.add(Character.valueOf('\ub683')); + charS.add(Character.valueOf('\ub684')); + charS.add(Character.valueOf('\ub685')); + charS.add(Character.valueOf('\ub686')); + charS.add(Character.valueOf('\ub687')); + charS.add(Character.valueOf('\ub688')); + charS.add(Character.valueOf('\ub689')); + charS.add(Character.valueOf('\ub68a')); + charS.add(Character.valueOf('\ub68b')); + charS.add(Character.valueOf('\ub68c')); + charS.add(Character.valueOf('\ub68d')); + charS.add(Character.valueOf('\ub68e')); + charS.add(Character.valueOf('\ub68f')); + charS.add(Character.valueOf('\ub690')); + charS.add(Character.valueOf('\ub691')); + charS.add(Character.valueOf('\ub692')); + charS.add(Character.valueOf('\ub693')); + charS.add(Character.valueOf('\ub694')); + charS.add(Character.valueOf('\ub695')); + charS.add(Character.valueOf('\ub696')); + charS.add(Character.valueOf('\ub697')); + charS.add(Character.valueOf('\ub698')); + charS.add(Character.valueOf('\ub699')); + charS.add(Character.valueOf('\ub69a')); + charS.add(Character.valueOf('\ub69b')); + charS.add(Character.valueOf('\ub69c')); + charS.add(Character.valueOf('\ub69d')); + charS.add(Character.valueOf('\ub69e')); + charS.add(Character.valueOf('\ub69f')); + charS.add(Character.valueOf('\ub6a0')); + charS.add(Character.valueOf('\ub6a1')); + charS.add(Character.valueOf('\ub6a2')); + charS.add(Character.valueOf('\ub6a3')); + charS.add(Character.valueOf('\ub6a4')); + charS.add(Character.valueOf('\ub6a5')); + charS.add(Character.valueOf('\ub6a6')); + charS.add(Character.valueOf('\ub6a7')); + charS.add(Character.valueOf('\ub6a8')); + charS.add(Character.valueOf('\ub6a9')); + charS.add(Character.valueOf('\ub6aa')); + charS.add(Character.valueOf('\ub6ab')); + charS.add(Character.valueOf('\ub6ac')); + charS.add(Character.valueOf('\ub6ad')); + charS.add(Character.valueOf('\ub6ae')); + charS.add(Character.valueOf('\ub6af')); + charS.add(Character.valueOf('\ub6b0')); + charS.add(Character.valueOf('\ub6b1')); + charS.add(Character.valueOf('\ub6b2')); + charS.add(Character.valueOf('\ub6b3')); + charS.add(Character.valueOf('\ub6b4')); + charS.add(Character.valueOf('\ub6b5')); + charS.add(Character.valueOf('\ub6b6')); + charS.add(Character.valueOf('\ub6b7')); + charS.add(Character.valueOf('\ub6b8')); + charS.add(Character.valueOf('\ub6b9')); + charS.add(Character.valueOf('\ub6ba')); + charS.add(Character.valueOf('\ub6bb')); + charS.add(Character.valueOf('\ub6bc')); + charS.add(Character.valueOf('\ub63d')); + charS.add(Character.valueOf('\ub6be')); + charS.add(Character.valueOf('\ub6bf')); + charS.add(Character.valueOf('\ub6c0')); + charS.add(Character.valueOf('\ub6c1')); + charS.add(Character.valueOf('\ub6c2')); + charS.add(Character.valueOf('\ub6c3')); + charS.add(Character.valueOf('\ub6c4')); + charS.add(Character.valueOf('\ub6c5')); + charS.add(Character.valueOf('\ub6c6')); + charS.add(Character.valueOf('\ub6c7')); + charS.add(Character.valueOf('\ub6c8')); + charS.add(Character.valueOf('\ub6c9')); + charS.add(Character.valueOf('\ub6ca')); + charS.add(Character.valueOf('\ub6cb')); + charS.add(Character.valueOf('\ub6cc')); + charS.add(Character.valueOf('\ub6cd')); + charS.add(Character.valueOf('\ub6ce')); + charS.add(Character.valueOf('\ub6cf')); + charS.add(Character.valueOf('\ub6d0')); + charS.add(Character.valueOf('\ub6d1')); + charS.add(Character.valueOf('\ub6d2')); + charS.add(Character.valueOf('\ub6d3')); + charS.add(Character.valueOf('\ub6d4')); + charS.add(Character.valueOf('\ub6d5')); + charS.add(Character.valueOf('\ub6d6')); + charS.add(Character.valueOf('\ub6d7')); + charS.add(Character.valueOf('\ub6d8')); + charS.add(Character.valueOf('\ub6d9')); + charS.add(Character.valueOf('\ub6da')); + charS.add(Character.valueOf('\ub6db')); + charS.add(Character.valueOf('\ub6dc')); + charS.add(Character.valueOf('\ub6dd')); + charS.add(Character.valueOf('\ub6de')); + charS.add(Character.valueOf('\ub6df')); + charS.add(Character.valueOf('\ub6e0')); + charS.add(Character.valueOf('\ub6e1')); + charS.add(Character.valueOf('\ub6e2')); + charS.add(Character.valueOf('\ub6e3')); + charS.add(Character.valueOf('\ub6e4')); + charS.add(Character.valueOf('\ub6e5')); + charS.add(Character.valueOf('\ub6e6')); + charS.add(Character.valueOf('\ub6e7')); + charS.add(Character.valueOf('\ub6e8')); + charS.add(Character.valueOf('\ub6e9')); + charS.add(Character.valueOf('\ub6ea')); + charS.add(Character.valueOf('\ub6eb')); + charS.add(Character.valueOf('\ub6ec')); + charS.add(Character.valueOf('\ub6ed')); + charS.add(Character.valueOf('\ub6ee')); + charS.add(Character.valueOf('\ub6ef')); + charS.add(Character.valueOf('\ub6f0')); + charS.add(Character.valueOf('\ub6f1')); + charS.add(Character.valueOf('\ub6f2')); + charS.add(Character.valueOf('\ub6f3')); + charS.add(Character.valueOf('\ub6f4')); + charS.add(Character.valueOf('\ub6f5')); + charS.add(Character.valueOf('\ub6f6')); + charS.add(Character.valueOf('\ub6f7')); + charS.add(Character.valueOf('\ub6f8')); + charS.add(Character.valueOf('\ub6f9')); + charS.add(Character.valueOf('\ub6fa')); + charS.add(Character.valueOf('\ub6fb')); + charS.add(Character.valueOf('\ub6fc')); + charS.add(Character.valueOf('\ub6fd')); + charS.add(Character.valueOf('\ub6fe')); + charS.add(Character.valueOf('\ub6ff')); + charS.add(Character.valueOf('\ub700')); + charS.add(Character.valueOf('\ub701')); + charS.add(Character.valueOf('\ub702')); + charS.add(Character.valueOf('\ub703')); + charS.add(Character.valueOf('\ub704')); + charS.add(Character.valueOf('\ub705')); + charS.add(Character.valueOf('\ub706')); + charS.add(Character.valueOf('\ub707')); + charS.add(Character.valueOf('\ub708')); + charS.add(Character.valueOf('\ub709')); + charS.add(Character.valueOf('\ub70a')); + charS.add(Character.valueOf('\ub70b')); + charS.add(Character.valueOf('\ub70c')); + charS.add(Character.valueOf('\ub70d')); + charS.add(Character.valueOf('\ub70e')); + charS.add(Character.valueOf('\ub70f')); + charS.add(Character.valueOf('\ub710')); + charS.add(Character.valueOf('\ub711')); + charS.add(Character.valueOf('\ub712')); + charS.add(Character.valueOf('\ub713')); + charS.add(Character.valueOf('\ub714')); + charS.add(Character.valueOf('\ub715')); + charS.add(Character.valueOf('\ub716')); + charS.add(Character.valueOf('\ub717')); + charS.add(Character.valueOf('\ub718')); + charS.add(Character.valueOf('\ub719')); + charS.add(Character.valueOf('\ub71a')); + charS.add(Character.valueOf('\ub71b')); + charS.add(Character.valueOf('\ub71c')); + charS.add(Character.valueOf('\ub71d')); + charS.add(Character.valueOf('\ub71e')); + charS.add(Character.valueOf('\ub71f')); + charS.add(Character.valueOf('\ub720')); + charS.add(Character.valueOf('\ub721')); + charS.add(Character.valueOf('\ub722')); + charS.add(Character.valueOf('\ub723')); + charS.add(Character.valueOf('\ub724')); + charS.add(Character.valueOf('\ub725')); + charS.add(Character.valueOf('\ub726')); + charS.add(Character.valueOf('\ub727')); + charS.add(Character.valueOf('\ub728')); + charS.add(Character.valueOf('\ub729')); + charS.add(Character.valueOf('\ub72a')); + charS.add(Character.valueOf('\ub72b')); + charS.add(Character.valueOf('\ub72c')); + charS.add(Character.valueOf('\ub72d')); + charS.add(Character.valueOf('\ub72e')); + charS.add(Character.valueOf('\ub72f')); + charS.add(Character.valueOf('\ub730')); + charS.add(Character.valueOf('\ub731')); + charS.add(Character.valueOf('\ub732')); + charS.add(Character.valueOf('\ub733')); + charS.add(Character.valueOf('\ub734')); + charS.add(Character.valueOf('\ub735')); + charS.add(Character.valueOf('\ub736')); + charS.add(Character.valueOf('\ub737')); + charS.add(Character.valueOf('\ub738')); + charS.add(Character.valueOf('\ub739')); + charS.add(Character.valueOf('\ub73a')); + charS.add(Character.valueOf('\ub73b')); + charS.add(Character.valueOf('\ub73c')); + charS.add(Character.valueOf('\ub73d')); + charS.add(Character.valueOf('\ub73e')); + charS.add(Character.valueOf('\ub73f')); + charS.add(Character.valueOf('\ub740')); + charS.add(Character.valueOf('\ub741')); + charS.add(Character.valueOf('\ub742')); + charS.add(Character.valueOf('\ub743')); + charS.add(Character.valueOf('\ub744')); + charS.add(Character.valueOf('\ub745')); + charS.add(Character.valueOf('\ub746')); + charS.add(Character.valueOf('\ub747')); + charS.add(Character.valueOf('\ub748')); + charS.add(Character.valueOf('\ub749')); + charS.add(Character.valueOf('\ub74a')); + charS.add(Character.valueOf('\ub74b')); + charS.add(Character.valueOf('\ub74c')); + charS.add(Character.valueOf('\ub74d')); + charS.add(Character.valueOf('\ub74e')); + charS.add(Character.valueOf('\ub74f')); + charS.add(Character.valueOf('\ub750')); + charS.add(Character.valueOf('\ub751')); + charS.add(Character.valueOf('\ub752')); + charS.add(Character.valueOf('\ub753')); + charS.add(Character.valueOf('\ub754')); + charS.add(Character.valueOf('\ub755')); + charS.add(Character.valueOf('\ub756')); + charS.add(Character.valueOf('\ub757')); + charS.add(Character.valueOf('\ub758')); + charS.add(Character.valueOf('\ub759')); + charS.add(Character.valueOf('\ub75a')); + charS.add(Character.valueOf('\ub75b')); + charS.add(Character.valueOf('\ub75c')); + charS.add(Character.valueOf('\ub75d')); + charS.add(Character.valueOf('\ub75e')); + charS.add(Character.valueOf('\ub75f')); + charS.add(Character.valueOf('\ub760')); + charS.add(Character.valueOf('\ub761')); + charS.add(Character.valueOf('\ub762')); + charS.add(Character.valueOf('\ub763')); + charS.add(Character.valueOf('\ub764')); + charS.add(Character.valueOf('\ub765')); + charS.add(Character.valueOf('\ub766')); + charS.add(Character.valueOf('\ub767')); + charS.add(Character.valueOf('\ub768')); + charS.add(Character.valueOf('\ub769')); + charS.add(Character.valueOf('\ub76a')); + charS.add(Character.valueOf('\ub76b')); + charS.add(Character.valueOf('\ub76c')); + charS.add(Character.valueOf('\ub76d')); + charS.add(Character.valueOf('\ub76e')); + charS.add(Character.valueOf('\ub76f')); + charS.add(Character.valueOf('\ub770')); + charS.add(Character.valueOf('\ub771')); + charS.add(Character.valueOf('\ub772')); + charS.add(Character.valueOf('\ub773')); + charS.add(Character.valueOf('\ub774')); + charS.add(Character.valueOf('\ub775')); + charS.add(Character.valueOf('\ub776')); + charS.add(Character.valueOf('\ub777')); + charS.add(Character.valueOf('\ub778')); + charS.add(Character.valueOf('\ub779')); + charS.add(Character.valueOf('\ub77a')); + charS.add(Character.valueOf('\ub77b')); + charS.add(Character.valueOf('\ub77c')); + charS.add(Character.valueOf('\ub77d')); + charS.add(Character.valueOf('\ub77e')); + charS.add(Character.valueOf('\ub77f')); + charS.add(Character.valueOf('\ub780')); + charS.add(Character.valueOf('\ub781')); + charS.add(Character.valueOf('\ub782')); + charS.add(Character.valueOf('\ub783')); + charS.add(Character.valueOf('\ub784')); + charS.add(Character.valueOf('\ub785')); + charS.add(Character.valueOf('\ub786')); + charS.add(Character.valueOf('\ub787')); + charS.add(Character.valueOf('\ub788')); + charS.add(Character.valueOf('\ub789')); + charS.add(Character.valueOf('\ub78a')); + charS.add(Character.valueOf('\ub78b')); + charS.add(Character.valueOf('\ub78c')); + charS.add(Character.valueOf('\ub78d')); + charS.add(Character.valueOf('\ub78e')); + charS.add(Character.valueOf('\ub78f')); + charS.add(Character.valueOf('\ub790')); + charS.add(Character.valueOf('\ub791')); + charS.add(Character.valueOf('\ub792')); + charS.add(Character.valueOf('\ub793')); + charS.add(Character.valueOf('\ub794')); + charS.add(Character.valueOf('\ub795')); + charS.add(Character.valueOf('\ub796')); + charS.add(Character.valueOf('\ub797')); + charS.add(Character.valueOf('\ub798')); + charS.add(Character.valueOf('\ub799')); + charS.add(Character.valueOf('\ub79a')); + charS.add(Character.valueOf('\ub79b')); + charS.add(Character.valueOf('\ub79c')); + charS.add(Character.valueOf('\ub79d')); + charS.add(Character.valueOf('\ub79e')); + charS.add(Character.valueOf('\ub79f')); + charS.add(Character.valueOf('\ub7a0')); + charS.add(Character.valueOf('\ub7a1')); + charS.add(Character.valueOf('\ub7a2')); + charS.add(Character.valueOf('\ub7a3')); + charS.add(Character.valueOf('\ub7a4')); + charS.add(Character.valueOf('\ub7a5')); + charS.add(Character.valueOf('\ub7a6')); + charS.add(Character.valueOf('\ub7a7')); + charS.add(Character.valueOf('\ub7a8')); + charS.add(Character.valueOf('\ub7a9')); + charS.add(Character.valueOf('\ub7aa')); + charS.add(Character.valueOf('\ub7ab')); + charS.add(Character.valueOf('\ub7ac')); + charS.add(Character.valueOf('\ub7ad')); + charS.add(Character.valueOf('\ub7ae')); + charS.add(Character.valueOf('\ub7af')); + charS.add(Character.valueOf('\ub7b0')); + charS.add(Character.valueOf('\ub7b1')); + charS.add(Character.valueOf('\ub7b2')); + charS.add(Character.valueOf('\ub7b3')); + charS.add(Character.valueOf('\ub7b4')); + charS.add(Character.valueOf('\ub7b5')); + charS.add(Character.valueOf('\ub7b6')); + charS.add(Character.valueOf('\ub7b7')); + charS.add(Character.valueOf('\ub7b8')); + charS.add(Character.valueOf('\ub7b9')); + charS.add(Character.valueOf('\ub7ba')); + charS.add(Character.valueOf('\ub7bb')); + charS.add(Character.valueOf('\ub7bc')); + charS.add(Character.valueOf('\ub73d')); + charS.add(Character.valueOf('\ub7be')); + charS.add(Character.valueOf('\ub7bf')); + charS.add(Character.valueOf('\ub7c0')); + charS.add(Character.valueOf('\ub7c1')); + charS.add(Character.valueOf('\ub7c2')); + charS.add(Character.valueOf('\ub7c3')); + charS.add(Character.valueOf('\ub7c4')); + charS.add(Character.valueOf('\ub7c5')); + charS.add(Character.valueOf('\ub7c6')); + charS.add(Character.valueOf('\ub7c7')); + charS.add(Character.valueOf('\ub7c8')); + charS.add(Character.valueOf('\ub7c9')); + charS.add(Character.valueOf('\ub7ca')); + charS.add(Character.valueOf('\ub7cb')); + charS.add(Character.valueOf('\ub7cc')); + charS.add(Character.valueOf('\ub7cd')); + charS.add(Character.valueOf('\ub7ce')); + charS.add(Character.valueOf('\ub7cf')); + charS.add(Character.valueOf('\ub7d0')); + charS.add(Character.valueOf('\ub7d1')); + charS.add(Character.valueOf('\ub7d2')); + charS.add(Character.valueOf('\ub7d3')); + charS.add(Character.valueOf('\ub7d4')); + charS.add(Character.valueOf('\ub7d5')); + charS.add(Character.valueOf('\ub7d6')); + charS.add(Character.valueOf('\ub7d7')); + charS.add(Character.valueOf('\ub7d8')); + charS.add(Character.valueOf('\ub7d9')); + charS.add(Character.valueOf('\ub7da')); + charS.add(Character.valueOf('\ub7db')); + charS.add(Character.valueOf('\ub7dc')); + charS.add(Character.valueOf('\ub7dd')); + charS.add(Character.valueOf('\ub7de')); + charS.add(Character.valueOf('\ub7df')); + charS.add(Character.valueOf('\ub7e0')); + charS.add(Character.valueOf('\ub7e1')); + charS.add(Character.valueOf('\ub7e2')); + charS.add(Character.valueOf('\ub7e3')); + charS.add(Character.valueOf('\ub7e4')); + charS.add(Character.valueOf('\ub7e5')); + charS.add(Character.valueOf('\ub7e6')); + charS.add(Character.valueOf('\ub7e7')); + charS.add(Character.valueOf('\ub7e8')); + charS.add(Character.valueOf('\ub7e9')); + charS.add(Character.valueOf('\ub7ea')); + charS.add(Character.valueOf('\ub7eb')); + charS.add(Character.valueOf('\ub7ec')); + charS.add(Character.valueOf('\ub7ed')); + charS.add(Character.valueOf('\ub7ee')); + charS.add(Character.valueOf('\ub7ef')); + charS.add(Character.valueOf('\ub7f0')); + charS.add(Character.valueOf('\ub7f1')); + charS.add(Character.valueOf('\ub7f2')); + charS.add(Character.valueOf('\ub7f3')); + charS.add(Character.valueOf('\ub7f4')); + charS.add(Character.valueOf('\ub7f5')); + charS.add(Character.valueOf('\ub7f6')); + charS.add(Character.valueOf('\ub7f7')); + charS.add(Character.valueOf('\ub7f8')); + charS.add(Character.valueOf('\ub7f9')); + charS.add(Character.valueOf('\ub7fa')); + charS.add(Character.valueOf('\ub7fb')); + charS.add(Character.valueOf('\ub7fc')); + charS.add(Character.valueOf('\ub7fd')); + charS.add(Character.valueOf('\ub7fe')); + charS.add(Character.valueOf('\ub7ff')); + charS.add(Character.valueOf('\ub800')); + charS.add(Character.valueOf('\ub801')); + charS.add(Character.valueOf('\ub802')); + charS.add(Character.valueOf('\ub803')); + charS.add(Character.valueOf('\ub804')); + charS.add(Character.valueOf('\ub805')); + charS.add(Character.valueOf('\ub806')); + charS.add(Character.valueOf('\ub807')); + charS.add(Character.valueOf('\ub808')); + charS.add(Character.valueOf('\ub809')); + charS.add(Character.valueOf('\ub80a')); + charS.add(Character.valueOf('\ub80b')); + charS.add(Character.valueOf('\ub80c')); + charS.add(Character.valueOf('\ub80d')); + charS.add(Character.valueOf('\ub80e')); + charS.add(Character.valueOf('\ub80f')); + charS.add(Character.valueOf('\ub810')); + charS.add(Character.valueOf('\ub811')); + charS.add(Character.valueOf('\ub812')); + charS.add(Character.valueOf('\ub813')); + charS.add(Character.valueOf('\ub814')); + charS.add(Character.valueOf('\ub815')); + charS.add(Character.valueOf('\ub816')); + charS.add(Character.valueOf('\ub817')); + charS.add(Character.valueOf('\ub818')); + charS.add(Character.valueOf('\ub819')); + charS.add(Character.valueOf('\ub81a')); + charS.add(Character.valueOf('\ub81b')); + charS.add(Character.valueOf('\ub81c')); + charS.add(Character.valueOf('\ub81d')); + charS.add(Character.valueOf('\ub81e')); + charS.add(Character.valueOf('\ub81f')); + charS.add(Character.valueOf('\ub820')); + charS.add(Character.valueOf('\ub821')); + charS.add(Character.valueOf('\ub822')); + charS.add(Character.valueOf('\ub823')); + charS.add(Character.valueOf('\ub824')); + charS.add(Character.valueOf('\ub825')); + charS.add(Character.valueOf('\ub826')); + charS.add(Character.valueOf('\ub827')); + charS.add(Character.valueOf('\ub828')); + charS.add(Character.valueOf('\ub829')); + charS.add(Character.valueOf('\ub82a')); + charS.add(Character.valueOf('\ub82b')); + charS.add(Character.valueOf('\ub82c')); + charS.add(Character.valueOf('\ub82d')); + charS.add(Character.valueOf('\ub82e')); + charS.add(Character.valueOf('\ub82f')); + charS.add(Character.valueOf('\ub830')); + charS.add(Character.valueOf('\ub831')); + charS.add(Character.valueOf('\ub832')); + charS.add(Character.valueOf('\ub833')); + charS.add(Character.valueOf('\ub834')); + charS.add(Character.valueOf('\ub835')); + charS.add(Character.valueOf('\ub836')); + charS.add(Character.valueOf('\ub837')); + charS.add(Character.valueOf('\ub838')); + charS.add(Character.valueOf('\ub839')); + charS.add(Character.valueOf('\ub83a')); + charS.add(Character.valueOf('\ub83b')); + charS.add(Character.valueOf('\ub83c')); + charS.add(Character.valueOf('\ub83d')); + charS.add(Character.valueOf('\ub83e')); + charS.add(Character.valueOf('\ub83f')); + charS.add(Character.valueOf('\ub840')); + charS.add(Character.valueOf('\ub841')); + charS.add(Character.valueOf('\ub842')); + charS.add(Character.valueOf('\ub843')); + charS.add(Character.valueOf('\ub844')); + charS.add(Character.valueOf('\ub845')); + charS.add(Character.valueOf('\ub846')); + charS.add(Character.valueOf('\ub847')); + charS.add(Character.valueOf('\ub848')); + charS.add(Character.valueOf('\ub849')); + charS.add(Character.valueOf('\ub84a')); + charS.add(Character.valueOf('\ub84b')); + charS.add(Character.valueOf('\ub84c')); + charS.add(Character.valueOf('\ub84d')); + charS.add(Character.valueOf('\ub84e')); + charS.add(Character.valueOf('\ub84f')); + charS.add(Character.valueOf('\ub850')); + charS.add(Character.valueOf('\ub851')); + charS.add(Character.valueOf('\ub852')); + charS.add(Character.valueOf('\ub853')); + charS.add(Character.valueOf('\ub854')); + charS.add(Character.valueOf('\ub855')); + charS.add(Character.valueOf('\ub856')); + charS.add(Character.valueOf('\ub857')); + charS.add(Character.valueOf('\ub858')); + charS.add(Character.valueOf('\ub859')); + charS.add(Character.valueOf('\ub85a')); + charS.add(Character.valueOf('\ub85b')); + charS.add(Character.valueOf('\ub85c')); + charS.add(Character.valueOf('\ub85d')); + charS.add(Character.valueOf('\ub85e')); + charS.add(Character.valueOf('\ub85f')); + charS.add(Character.valueOf('\ub860')); + charS.add(Character.valueOf('\ub861')); + charS.add(Character.valueOf('\ub862')); + charS.add(Character.valueOf('\ub863')); + charS.add(Character.valueOf('\ub864')); + charS.add(Character.valueOf('\ub865')); + charS.add(Character.valueOf('\ub866')); + charS.add(Character.valueOf('\ub867')); + charS.add(Character.valueOf('\ub868')); + charS.add(Character.valueOf('\ub869')); + charS.add(Character.valueOf('\ub86a')); + charS.add(Character.valueOf('\ub86b')); + charS.add(Character.valueOf('\ub86c')); + charS.add(Character.valueOf('\ub86d')); + charS.add(Character.valueOf('\ub86e')); + charS.add(Character.valueOf('\ub86f')); + charS.add(Character.valueOf('\ub870')); + charS.add(Character.valueOf('\ub871')); + charS.add(Character.valueOf('\ub872')); + charS.add(Character.valueOf('\ub873')); + charS.add(Character.valueOf('\ub874')); + charS.add(Character.valueOf('\ub875')); + charS.add(Character.valueOf('\ub876')); + charS.add(Character.valueOf('\ub877')); + charS.add(Character.valueOf('\ub878')); + charS.add(Character.valueOf('\ub879')); + charS.add(Character.valueOf('\ub87a')); + charS.add(Character.valueOf('\ub87b')); + charS.add(Character.valueOf('\ub87c')); + charS.add(Character.valueOf('\ub87d')); + charS.add(Character.valueOf('\ub87e')); + charS.add(Character.valueOf('\ub87f')); + charS.add(Character.valueOf('\ub880')); + charS.add(Character.valueOf('\ub881')); + charS.add(Character.valueOf('\ub882')); + charS.add(Character.valueOf('\ub883')); + charS.add(Character.valueOf('\ub884')); + charS.add(Character.valueOf('\ub885')); + charS.add(Character.valueOf('\ub886')); + charS.add(Character.valueOf('\ub887')); + charS.add(Character.valueOf('\ub888')); + charS.add(Character.valueOf('\ub889')); + charS.add(Character.valueOf('\ub88a')); + charS.add(Character.valueOf('\ub88b')); + charS.add(Character.valueOf('\ub88c')); + charS.add(Character.valueOf('\ub88d')); + charS.add(Character.valueOf('\ub88e')); + charS.add(Character.valueOf('\ub88f')); + charS.add(Character.valueOf('\ub890')); + charS.add(Character.valueOf('\ub891')); + charS.add(Character.valueOf('\ub892')); + charS.add(Character.valueOf('\ub893')); + charS.add(Character.valueOf('\ub894')); + charS.add(Character.valueOf('\ub895')); + charS.add(Character.valueOf('\ub896')); + charS.add(Character.valueOf('\ub897')); + charS.add(Character.valueOf('\ub898')); + charS.add(Character.valueOf('\ub899')); + charS.add(Character.valueOf('\ub89a')); + charS.add(Character.valueOf('\ub89b')); + charS.add(Character.valueOf('\ub89c')); + charS.add(Character.valueOf('\ub89d')); + charS.add(Character.valueOf('\ub89e')); + charS.add(Character.valueOf('\ub89f')); + charS.add(Character.valueOf('\ub8a0')); + charS.add(Character.valueOf('\ub8a1')); + charS.add(Character.valueOf('\ub8a2')); + charS.add(Character.valueOf('\ub8a3')); + charS.add(Character.valueOf('\ub8a4')); + charS.add(Character.valueOf('\ub8a5')); + charS.add(Character.valueOf('\ub8a6')); + charS.add(Character.valueOf('\ub8a7')); + charS.add(Character.valueOf('\ub8a8')); + charS.add(Character.valueOf('\ub8a9')); + charS.add(Character.valueOf('\ub8aa')); + charS.add(Character.valueOf('\ub8ab')); + charS.add(Character.valueOf('\ub8ac')); + charS.add(Character.valueOf('\ub8ad')); + charS.add(Character.valueOf('\ub8ae')); + charS.add(Character.valueOf('\ub8af')); + charS.add(Character.valueOf('\ub8b0')); + charS.add(Character.valueOf('\ub8b1')); + charS.add(Character.valueOf('\ub8b2')); + charS.add(Character.valueOf('\ub8b3')); + charS.add(Character.valueOf('\ub8b4')); + charS.add(Character.valueOf('\ub8b5')); + charS.add(Character.valueOf('\ub8b6')); + charS.add(Character.valueOf('\ub8b7')); + charS.add(Character.valueOf('\ub8b8')); + charS.add(Character.valueOf('\ub8b9')); + charS.add(Character.valueOf('\ub8ba')); + charS.add(Character.valueOf('\ub8bb')); + charS.add(Character.valueOf('\ub8bc')); + charS.add(Character.valueOf('\ub83d')); + charS.add(Character.valueOf('\ub8be')); + charS.add(Character.valueOf('\ub8bf')); + charS.add(Character.valueOf('\ub8c0')); + charS.add(Character.valueOf('\ub8c1')); + charS.add(Character.valueOf('\ub8c2')); + charS.add(Character.valueOf('\ub8c3')); + charS.add(Character.valueOf('\ub8c4')); + charS.add(Character.valueOf('\ub8c5')); + charS.add(Character.valueOf('\ub8c6')); + charS.add(Character.valueOf('\ub8c7')); + charS.add(Character.valueOf('\ub8c8')); + charS.add(Character.valueOf('\ub8c9')); + charS.add(Character.valueOf('\ub8ca')); + charS.add(Character.valueOf('\ub8cb')); + charS.add(Character.valueOf('\ub8cc')); + charS.add(Character.valueOf('\ub8cd')); + charS.add(Character.valueOf('\ub8ce')); + charS.add(Character.valueOf('\ub8cf')); + charS.add(Character.valueOf('\ub8d0')); + charS.add(Character.valueOf('\ub8d1')); + charS.add(Character.valueOf('\ub8d2')); + charS.add(Character.valueOf('\ub8d3')); + charS.add(Character.valueOf('\ub8d4')); + charS.add(Character.valueOf('\ub8d5')); + charS.add(Character.valueOf('\ub8d6')); + charS.add(Character.valueOf('\ub8d7')); + charS.add(Character.valueOf('\ub8d8')); + charS.add(Character.valueOf('\ub8d9')); + charS.add(Character.valueOf('\ub8da')); + charS.add(Character.valueOf('\ub8db')); + charS.add(Character.valueOf('\ub8dc')); + charS.add(Character.valueOf('\ub8dd')); + charS.add(Character.valueOf('\ub8de')); + charS.add(Character.valueOf('\ub8df')); + charS.add(Character.valueOf('\ub8e0')); + charS.add(Character.valueOf('\ub8e1')); + charS.add(Character.valueOf('\ub8e2')); + charS.add(Character.valueOf('\ub8e3')); + charS.add(Character.valueOf('\ub8e4')); + charS.add(Character.valueOf('\ub8e5')); + charS.add(Character.valueOf('\ub8e6')); + charS.add(Character.valueOf('\ub8e7')); + charS.add(Character.valueOf('\ub8e8')); + charS.add(Character.valueOf('\ub8e9')); + charS.add(Character.valueOf('\ub8ea')); + charS.add(Character.valueOf('\ub8eb')); + charS.add(Character.valueOf('\ub8ec')); + charS.add(Character.valueOf('\ub8ed')); + charS.add(Character.valueOf('\ub8ee')); + charS.add(Character.valueOf('\ub8ef')); + charS.add(Character.valueOf('\ub8f0')); + charS.add(Character.valueOf('\ub8f1')); + charS.add(Character.valueOf('\ub8f2')); + charS.add(Character.valueOf('\ub8f3')); + charS.add(Character.valueOf('\ub8f4')); + charS.add(Character.valueOf('\ub8f5')); + charS.add(Character.valueOf('\ub8f6')); + charS.add(Character.valueOf('\ub8f7')); + charS.add(Character.valueOf('\ub8f8')); + charS.add(Character.valueOf('\ub8f9')); + charS.add(Character.valueOf('\ub8fa')); + charS.add(Character.valueOf('\ub8fb')); + charS.add(Character.valueOf('\ub8fc')); + charS.add(Character.valueOf('\ub8fd')); + charS.add(Character.valueOf('\ub8fe')); + charS.add(Character.valueOf('\ub8ff')); + charS.add(Character.valueOf('\ub900')); + charS.add(Character.valueOf('\ub901')); + charS.add(Character.valueOf('\ub902')); + charS.add(Character.valueOf('\ub903')); + charS.add(Character.valueOf('\ub904')); + charS.add(Character.valueOf('\ub905')); + charS.add(Character.valueOf('\ub906')); + charS.add(Character.valueOf('\ub907')); + charS.add(Character.valueOf('\ub908')); + charS.add(Character.valueOf('\ub909')); + charS.add(Character.valueOf('\ub90a')); + charS.add(Character.valueOf('\ub90b')); + charS.add(Character.valueOf('\ub90c')); + charS.add(Character.valueOf('\ub90d')); + charS.add(Character.valueOf('\ub90e')); + charS.add(Character.valueOf('\ub90f')); + charS.add(Character.valueOf('\ub910')); + charS.add(Character.valueOf('\ub911')); + charS.add(Character.valueOf('\ub912')); + charS.add(Character.valueOf('\ub913')); + charS.add(Character.valueOf('\ub914')); + charS.add(Character.valueOf('\ub915')); + charS.add(Character.valueOf('\ub916')); + charS.add(Character.valueOf('\ub917')); + charS.add(Character.valueOf('\ub918')); + charS.add(Character.valueOf('\ub919')); + charS.add(Character.valueOf('\ub91a')); + charS.add(Character.valueOf('\ub91b')); + charS.add(Character.valueOf('\ub91c')); + charS.add(Character.valueOf('\ub91d')); + charS.add(Character.valueOf('\ub91e')); + charS.add(Character.valueOf('\ub91f')); + charS.add(Character.valueOf('\ub920')); + charS.add(Character.valueOf('\ub921')); + charS.add(Character.valueOf('\ub922')); + charS.add(Character.valueOf('\ub923')); + charS.add(Character.valueOf('\ub924')); + charS.add(Character.valueOf('\ub925')); + charS.add(Character.valueOf('\ub926')); + charS.add(Character.valueOf('\ub927')); + charS.add(Character.valueOf('\ub928')); + charS.add(Character.valueOf('\ub929')); + charS.add(Character.valueOf('\ub92a')); + charS.add(Character.valueOf('\ub92b')); + charS.add(Character.valueOf('\ub92c')); + charS.add(Character.valueOf('\ub92d')); + charS.add(Character.valueOf('\ub92e')); + charS.add(Character.valueOf('\ub92f')); + charS.add(Character.valueOf('\ub930')); + charS.add(Character.valueOf('\ub931')); + charS.add(Character.valueOf('\ub932')); + charS.add(Character.valueOf('\ub933')); + charS.add(Character.valueOf('\ub934')); + charS.add(Character.valueOf('\ub935')); + charS.add(Character.valueOf('\ub936')); + charS.add(Character.valueOf('\ub937')); + charS.add(Character.valueOf('\ub938')); + charS.add(Character.valueOf('\ub939')); + charS.add(Character.valueOf('\ub93a')); + charS.add(Character.valueOf('\ub93b')); + charS.add(Character.valueOf('\ub93c')); + charS.add(Character.valueOf('\ub93d')); + charS.add(Character.valueOf('\ub93e')); + charS.add(Character.valueOf('\ub93f')); + charS.add(Character.valueOf('\ub940')); + charS.add(Character.valueOf('\ub941')); + charS.add(Character.valueOf('\ub942')); + charS.add(Character.valueOf('\ub943')); + charS.add(Character.valueOf('\ub944')); + charS.add(Character.valueOf('\ub945')); + charS.add(Character.valueOf('\ub946')); + charS.add(Character.valueOf('\ub947')); + charS.add(Character.valueOf('\ub948')); + charS.add(Character.valueOf('\ub949')); + charS.add(Character.valueOf('\ub94a')); + charS.add(Character.valueOf('\ub94b')); + charS.add(Character.valueOf('\ub94c')); + charS.add(Character.valueOf('\ub94d')); + charS.add(Character.valueOf('\ub94e')); + charS.add(Character.valueOf('\ub94f')); + charS.add(Character.valueOf('\ub950')); + charS.add(Character.valueOf('\ub951')); + charS.add(Character.valueOf('\ub952')); + charS.add(Character.valueOf('\ub953')); + charS.add(Character.valueOf('\ub954')); + charS.add(Character.valueOf('\ub955')); + charS.add(Character.valueOf('\ub956')); + charS.add(Character.valueOf('\ub957')); + charS.add(Character.valueOf('\ub958')); + charS.add(Character.valueOf('\ub959')); + charS.add(Character.valueOf('\ub95a')); + charS.add(Character.valueOf('\ub95b')); + charS.add(Character.valueOf('\ub95c')); + charS.add(Character.valueOf('\ub95d')); + charS.add(Character.valueOf('\ub95e')); + charS.add(Character.valueOf('\ub95f')); + charS.add(Character.valueOf('\ub960')); + charS.add(Character.valueOf('\ub961')); + charS.add(Character.valueOf('\ub962')); + charS.add(Character.valueOf('\ub963')); + charS.add(Character.valueOf('\ub964')); + charS.add(Character.valueOf('\ub965')); + charS.add(Character.valueOf('\ub966')); + charS.add(Character.valueOf('\ub967')); + charS.add(Character.valueOf('\ub968')); + charS.add(Character.valueOf('\ub969')); + charS.add(Character.valueOf('\ub96a')); + charS.add(Character.valueOf('\ub96b')); + charS.add(Character.valueOf('\ub96c')); + charS.add(Character.valueOf('\ub96d')); + charS.add(Character.valueOf('\ub96e')); + charS.add(Character.valueOf('\ub96f')); + charS.add(Character.valueOf('\ub970')); + charS.add(Character.valueOf('\ub971')); + charS.add(Character.valueOf('\ub972')); + charS.add(Character.valueOf('\ub973')); + charS.add(Character.valueOf('\ub974')); + charS.add(Character.valueOf('\ub975')); + charS.add(Character.valueOf('\ub976')); + charS.add(Character.valueOf('\ub977')); + charS.add(Character.valueOf('\ub978')); + charS.add(Character.valueOf('\ub979')); + charS.add(Character.valueOf('\ub97a')); + charS.add(Character.valueOf('\ub97b')); + charS.add(Character.valueOf('\ub97c')); + charS.add(Character.valueOf('\ub97d')); + charS.add(Character.valueOf('\ub97e')); + charS.add(Character.valueOf('\ub97f')); + charS.add(Character.valueOf('\ub980')); + charS.add(Character.valueOf('\ub981')); + charS.add(Character.valueOf('\ub982')); + charS.add(Character.valueOf('\ub983')); + charS.add(Character.valueOf('\ub984')); + charS.add(Character.valueOf('\ub985')); + charS.add(Character.valueOf('\ub986')); + charS.add(Character.valueOf('\ub987')); + charS.add(Character.valueOf('\ub988')); + charS.add(Character.valueOf('\ub989')); + charS.add(Character.valueOf('\ub98a')); + charS.add(Character.valueOf('\ub98b')); + charS.add(Character.valueOf('\ub98c')); + charS.add(Character.valueOf('\ub98d')); + charS.add(Character.valueOf('\ub98e')); + charS.add(Character.valueOf('\ub98f')); + charS.add(Character.valueOf('\ub990')); + charS.add(Character.valueOf('\ub991')); + charS.add(Character.valueOf('\ub992')); + charS.add(Character.valueOf('\ub993')); + charS.add(Character.valueOf('\ub994')); + charS.add(Character.valueOf('\ub995')); + charS.add(Character.valueOf('\ub996')); + charS.add(Character.valueOf('\ub997')); + charS.add(Character.valueOf('\ub998')); + charS.add(Character.valueOf('\ub999')); + charS.add(Character.valueOf('\ub99a')); + charS.add(Character.valueOf('\ub99b')); + charS.add(Character.valueOf('\ub99c')); + charS.add(Character.valueOf('\ub99d')); + charS.add(Character.valueOf('\ub99e')); + charS.add(Character.valueOf('\ub99f')); + charS.add(Character.valueOf('\ub9a0')); + charS.add(Character.valueOf('\ub9a1')); + charS.add(Character.valueOf('\ub9a2')); + charS.add(Character.valueOf('\ub9a3')); + charS.add(Character.valueOf('\ub9a4')); + charS.add(Character.valueOf('\ub9a5')); + charS.add(Character.valueOf('\ub9a6')); + charS.add(Character.valueOf('\ub9a7')); + charS.add(Character.valueOf('\ub9a8')); + charS.add(Character.valueOf('\ub9a9')); + charS.add(Character.valueOf('\ub9aa')); + charS.add(Character.valueOf('\ub9ab')); + charS.add(Character.valueOf('\ub9ac')); + charS.add(Character.valueOf('\ub9ad')); + charS.add(Character.valueOf('\ub9ae')); + charS.add(Character.valueOf('\ub9af')); + charS.add(Character.valueOf('\ub9b0')); + charS.add(Character.valueOf('\ub9b1')); + charS.add(Character.valueOf('\ub9b2')); + charS.add(Character.valueOf('\ub9b3')); + charS.add(Character.valueOf('\ub9b4')); + charS.add(Character.valueOf('\ub9b5')); + charS.add(Character.valueOf('\ub9b6')); + charS.add(Character.valueOf('\ub9b7')); + charS.add(Character.valueOf('\ub9b8')); + charS.add(Character.valueOf('\ub9b9')); + charS.add(Character.valueOf('\ub9ba')); + charS.add(Character.valueOf('\ub9bb')); + charS.add(Character.valueOf('\ub9bc')); + charS.add(Character.valueOf('\ub93d')); + charS.add(Character.valueOf('\ub9be')); + charS.add(Character.valueOf('\ub9bf')); + charS.add(Character.valueOf('\ub9c0')); + charS.add(Character.valueOf('\ub9c1')); + charS.add(Character.valueOf('\ub9c2')); + charS.add(Character.valueOf('\ub9c3')); + charS.add(Character.valueOf('\ub9c4')); + charS.add(Character.valueOf('\ub9c5')); + charS.add(Character.valueOf('\ub9c6')); + charS.add(Character.valueOf('\ub9c7')); + charS.add(Character.valueOf('\ub9c8')); + charS.add(Character.valueOf('\ub9c9')); + charS.add(Character.valueOf('\ub9ca')); + charS.add(Character.valueOf('\ub9cb')); + charS.add(Character.valueOf('\ub9cc')); + charS.add(Character.valueOf('\ub9cd')); + charS.add(Character.valueOf('\ub9ce')); + charS.add(Character.valueOf('\ub9cf')); + charS.add(Character.valueOf('\ub9d0')); + charS.add(Character.valueOf('\ub9d1')); + charS.add(Character.valueOf('\ub9d2')); + charS.add(Character.valueOf('\ub9d3')); + charS.add(Character.valueOf('\ub9d4')); + charS.add(Character.valueOf('\ub9d5')); + charS.add(Character.valueOf('\ub9d6')); + charS.add(Character.valueOf('\ub9d7')); + charS.add(Character.valueOf('\ub9d8')); + charS.add(Character.valueOf('\ub9d9')); + charS.add(Character.valueOf('\ub9da')); + charS.add(Character.valueOf('\ub9db')); + charS.add(Character.valueOf('\ub9dc')); + charS.add(Character.valueOf('\ub9dd')); + charS.add(Character.valueOf('\ub9de')); + charS.add(Character.valueOf('\ub9df')); + charS.add(Character.valueOf('\ub9e0')); + charS.add(Character.valueOf('\ub9e1')); + charS.add(Character.valueOf('\ub9e2')); + charS.add(Character.valueOf('\ub9e3')); + charS.add(Character.valueOf('\ub9e4')); + charS.add(Character.valueOf('\ub9e5')); + charS.add(Character.valueOf('\ub9e6')); + charS.add(Character.valueOf('\ub9e7')); + charS.add(Character.valueOf('\ub9e8')); + charS.add(Character.valueOf('\ub9e9')); + charS.add(Character.valueOf('\ub9ea')); + charS.add(Character.valueOf('\ub9eb')); + charS.add(Character.valueOf('\ub9ec')); + charS.add(Character.valueOf('\ub9ed')); + charS.add(Character.valueOf('\ub9ee')); + charS.add(Character.valueOf('\ub9ef')); + charS.add(Character.valueOf('\ub9f0')); + charS.add(Character.valueOf('\ub9f1')); + charS.add(Character.valueOf('\ub9f2')); + charS.add(Character.valueOf('\ub9f3')); + charS.add(Character.valueOf('\ub9f4')); + charS.add(Character.valueOf('\ub9f5')); + charS.add(Character.valueOf('\ub9f6')); + charS.add(Character.valueOf('\ub9f7')); + charS.add(Character.valueOf('\ub9f8')); + charS.add(Character.valueOf('\ub9f9')); + charS.add(Character.valueOf('\ub9fa')); + charS.add(Character.valueOf('\ub9fb')); + charS.add(Character.valueOf('\ub9fc')); + charS.add(Character.valueOf('\ub9fd')); + charS.add(Character.valueOf('\ub9fe')); + charS.add(Character.valueOf('\ub9ff')); + charS.add(Character.valueOf('\uba00')); + charS.add(Character.valueOf('\uba01')); + charS.add(Character.valueOf('\uba02')); + charS.add(Character.valueOf('\uba03')); + charS.add(Character.valueOf('\uba04')); + charS.add(Character.valueOf('\uba05')); + charS.add(Character.valueOf('\uba06')); + charS.add(Character.valueOf('\uba07')); + charS.add(Character.valueOf('\uba08')); + charS.add(Character.valueOf('\uba09')); + charS.add(Character.valueOf('\uba0a')); + charS.add(Character.valueOf('\uba0b')); + charS.add(Character.valueOf('\uba0c')); + charS.add(Character.valueOf('\uba0d')); + charS.add(Character.valueOf('\uba0e')); + charS.add(Character.valueOf('\uba0f')); + charS.add(Character.valueOf('\uba10')); + charS.add(Character.valueOf('\uba11')); + charS.add(Character.valueOf('\uba12')); + charS.add(Character.valueOf('\uba13')); + charS.add(Character.valueOf('\uba14')); + charS.add(Character.valueOf('\uba15')); + charS.add(Character.valueOf('\uba16')); + charS.add(Character.valueOf('\uba17')); + charS.add(Character.valueOf('\uba18')); + charS.add(Character.valueOf('\uba19')); + charS.add(Character.valueOf('\uba1a')); + charS.add(Character.valueOf('\uba1b')); + charS.add(Character.valueOf('\uba1c')); + charS.add(Character.valueOf('\uba1d')); + charS.add(Character.valueOf('\uba1e')); + charS.add(Character.valueOf('\uba1f')); + charS.add(Character.valueOf('\uba20')); + charS.add(Character.valueOf('\uba21')); + charS.add(Character.valueOf('\uba22')); + charS.add(Character.valueOf('\uba23')); + charS.add(Character.valueOf('\uba24')); + charS.add(Character.valueOf('\uba25')); + charS.add(Character.valueOf('\uba26')); + charS.add(Character.valueOf('\uba27')); + charS.add(Character.valueOf('\uba28')); + charS.add(Character.valueOf('\uba29')); + charS.add(Character.valueOf('\uba2a')); + charS.add(Character.valueOf('\uba2b')); + charS.add(Character.valueOf('\uba2c')); + charS.add(Character.valueOf('\uba2d')); + charS.add(Character.valueOf('\uba2e')); + charS.add(Character.valueOf('\uba2f')); + charS.add(Character.valueOf('\uba30')); + charS.add(Character.valueOf('\uba31')); + charS.add(Character.valueOf('\uba32')); + charS.add(Character.valueOf('\uba33')); + charS.add(Character.valueOf('\uba34')); + charS.add(Character.valueOf('\uba35')); + charS.add(Character.valueOf('\uba36')); + charS.add(Character.valueOf('\uba37')); + charS.add(Character.valueOf('\uba38')); + charS.add(Character.valueOf('\uba39')); + charS.add(Character.valueOf('\uba3a')); + charS.add(Character.valueOf('\uba3b')); + charS.add(Character.valueOf('\uba3c')); + charS.add(Character.valueOf('\uba3d')); + charS.add(Character.valueOf('\uba3e')); + charS.add(Character.valueOf('\uba3f')); + charS.add(Character.valueOf('\uba40')); + charS.add(Character.valueOf('\uba41')); + charS.add(Character.valueOf('\uba42')); + charS.add(Character.valueOf('\uba43')); + charS.add(Character.valueOf('\uba44')); + charS.add(Character.valueOf('\uba45')); + charS.add(Character.valueOf('\uba46')); + charS.add(Character.valueOf('\uba47')); + charS.add(Character.valueOf('\uba48')); + charS.add(Character.valueOf('\uba49')); + charS.add(Character.valueOf('\uba4a')); + charS.add(Character.valueOf('\uba4b')); + charS.add(Character.valueOf('\uba4c')); + charS.add(Character.valueOf('\uba4d')); + charS.add(Character.valueOf('\uba4e')); + charS.add(Character.valueOf('\uba4f')); + charS.add(Character.valueOf('\uba50')); + charS.add(Character.valueOf('\uba51')); + charS.add(Character.valueOf('\uba52')); + charS.add(Character.valueOf('\uba53')); + charS.add(Character.valueOf('\uba54')); + charS.add(Character.valueOf('\uba55')); + charS.add(Character.valueOf('\uba56')); + charS.add(Character.valueOf('\uba57')); + charS.add(Character.valueOf('\uba58')); + charS.add(Character.valueOf('\uba59')); + charS.add(Character.valueOf('\uba5a')); + charS.add(Character.valueOf('\uba5b')); + charS.add(Character.valueOf('\uba5c')); + charS.add(Character.valueOf('\uba5d')); + charS.add(Character.valueOf('\uba5e')); + charS.add(Character.valueOf('\uba5f')); + charS.add(Character.valueOf('\uba60')); + charS.add(Character.valueOf('\uba61')); + charS.add(Character.valueOf('\uba62')); + charS.add(Character.valueOf('\uba63')); + charS.add(Character.valueOf('\uba64')); + charS.add(Character.valueOf('\uba65')); + charS.add(Character.valueOf('\uba66')); + charS.add(Character.valueOf('\uba67')); + charS.add(Character.valueOf('\uba68')); + charS.add(Character.valueOf('\uba69')); + charS.add(Character.valueOf('\uba6a')); + charS.add(Character.valueOf('\uba6b')); + charS.add(Character.valueOf('\uba6c')); + charS.add(Character.valueOf('\uba6d')); + charS.add(Character.valueOf('\uba6e')); + charS.add(Character.valueOf('\uba6f')); + charS.add(Character.valueOf('\uba70')); + charS.add(Character.valueOf('\uba71')); + charS.add(Character.valueOf('\uba72')); + charS.add(Character.valueOf('\uba73')); + charS.add(Character.valueOf('\uba74')); + charS.add(Character.valueOf('\uba75')); + charS.add(Character.valueOf('\uba76')); + charS.add(Character.valueOf('\uba77')); + charS.add(Character.valueOf('\uba78')); + charS.add(Character.valueOf('\uba79')); + charS.add(Character.valueOf('\uba7a')); + charS.add(Character.valueOf('\uba7b')); + charS.add(Character.valueOf('\uba7c')); + charS.add(Character.valueOf('\uba7d')); + charS.add(Character.valueOf('\uba7e')); + charS.add(Character.valueOf('\uba7f')); + charS.add(Character.valueOf('\uba80')); + charS.add(Character.valueOf('\uba81')); + charS.add(Character.valueOf('\uba82')); + charS.add(Character.valueOf('\uba83')); + charS.add(Character.valueOf('\uba84')); + charS.add(Character.valueOf('\uba85')); + charS.add(Character.valueOf('\uba86')); + charS.add(Character.valueOf('\uba87')); + charS.add(Character.valueOf('\uba88')); + charS.add(Character.valueOf('\uba89')); + charS.add(Character.valueOf('\uba8a')); + charS.add(Character.valueOf('\uba8b')); + charS.add(Character.valueOf('\uba8c')); + charS.add(Character.valueOf('\uba8d')); + charS.add(Character.valueOf('\uba8e')); + charS.add(Character.valueOf('\uba8f')); + charS.add(Character.valueOf('\uba90')); + charS.add(Character.valueOf('\uba91')); + charS.add(Character.valueOf('\uba92')); + charS.add(Character.valueOf('\uba93')); + charS.add(Character.valueOf('\uba94')); + charS.add(Character.valueOf('\uba95')); + charS.add(Character.valueOf('\uba96')); + charS.add(Character.valueOf('\uba97')); + charS.add(Character.valueOf('\uba98')); + charS.add(Character.valueOf('\uba99')); + charS.add(Character.valueOf('\uba9a')); + charS.add(Character.valueOf('\uba9b')); + charS.add(Character.valueOf('\uba9c')); + charS.add(Character.valueOf('\uba9d')); + charS.add(Character.valueOf('\uba9e')); + charS.add(Character.valueOf('\uba9f')); + charS.add(Character.valueOf('\ubaa0')); + charS.add(Character.valueOf('\ubaa1')); + charS.add(Character.valueOf('\ubaa2')); + charS.add(Character.valueOf('\ubaa3')); + charS.add(Character.valueOf('\ubaa4')); + charS.add(Character.valueOf('\ubaa5')); + charS.add(Character.valueOf('\ubaa6')); + charS.add(Character.valueOf('\ubaa7')); + charS.add(Character.valueOf('\ubaa8')); + charS.add(Character.valueOf('\ubaa9')); + charS.add(Character.valueOf('\ubaaa')); + charS.add(Character.valueOf('\ubaab')); + charS.add(Character.valueOf('\ubaac')); + charS.add(Character.valueOf('\ubaad')); + charS.add(Character.valueOf('\ubaae')); + charS.add(Character.valueOf('\ubaaf')); + charS.add(Character.valueOf('\ubab0')); + charS.add(Character.valueOf('\ubab1')); + charS.add(Character.valueOf('\ubab2')); + charS.add(Character.valueOf('\ubab3')); + charS.add(Character.valueOf('\ubab4')); + charS.add(Character.valueOf('\ubab5')); + charS.add(Character.valueOf('\ubab6')); + charS.add(Character.valueOf('\ubab7')); + charS.add(Character.valueOf('\ubab8')); + charS.add(Character.valueOf('\ubab9')); + charS.add(Character.valueOf('\ubaba')); + charS.add(Character.valueOf('\ubabb')); + charS.add(Character.valueOf('\ubabc')); + charS.add(Character.valueOf('\uba3d')); + charS.add(Character.valueOf('\ubabe')); + charS.add(Character.valueOf('\ubabf')); + charS.add(Character.valueOf('\ubac0')); + charS.add(Character.valueOf('\ubac1')); + charS.add(Character.valueOf('\ubac2')); + charS.add(Character.valueOf('\ubac3')); + charS.add(Character.valueOf('\ubac4')); + charS.add(Character.valueOf('\ubac5')); + charS.add(Character.valueOf('\ubac6')); + charS.add(Character.valueOf('\ubac7')); + charS.add(Character.valueOf('\ubac8')); + charS.add(Character.valueOf('\ubac9')); + charS.add(Character.valueOf('\ubaca')); + charS.add(Character.valueOf('\ubacb')); + charS.add(Character.valueOf('\ubacc')); + charS.add(Character.valueOf('\ubacd')); + charS.add(Character.valueOf('\ubace')); + charS.add(Character.valueOf('\ubacf')); + charS.add(Character.valueOf('\ubad0')); + charS.add(Character.valueOf('\ubad1')); + charS.add(Character.valueOf('\ubad2')); + charS.add(Character.valueOf('\ubad3')); + charS.add(Character.valueOf('\ubad4')); + charS.add(Character.valueOf('\ubad5')); + charS.add(Character.valueOf('\ubad6')); + charS.add(Character.valueOf('\ubad7')); + charS.add(Character.valueOf('\ubad8')); + charS.add(Character.valueOf('\ubad9')); + charS.add(Character.valueOf('\ubada')); + charS.add(Character.valueOf('\ubadb')); + charS.add(Character.valueOf('\ubadc')); + charS.add(Character.valueOf('\ubadd')); + charS.add(Character.valueOf('\ubade')); + charS.add(Character.valueOf('\ubadf')); + charS.add(Character.valueOf('\ubae0')); + charS.add(Character.valueOf('\ubae1')); + charS.add(Character.valueOf('\ubae2')); + charS.add(Character.valueOf('\ubae3')); + charS.add(Character.valueOf('\ubae4')); + charS.add(Character.valueOf('\ubae5')); + charS.add(Character.valueOf('\ubae6')); + charS.add(Character.valueOf('\ubae7')); + charS.add(Character.valueOf('\ubae8')); + charS.add(Character.valueOf('\ubae9')); + charS.add(Character.valueOf('\ubaea')); + charS.add(Character.valueOf('\ubaeb')); + charS.add(Character.valueOf('\ubaec')); + charS.add(Character.valueOf('\ubaed')); + charS.add(Character.valueOf('\ubaee')); + charS.add(Character.valueOf('\ubaef')); + charS.add(Character.valueOf('\ubaf0')); + charS.add(Character.valueOf('\ubaf1')); + charS.add(Character.valueOf('\ubaf2')); + charS.add(Character.valueOf('\ubaf3')); + charS.add(Character.valueOf('\ubaf4')); + charS.add(Character.valueOf('\ubaf5')); + charS.add(Character.valueOf('\ubaf6')); + charS.add(Character.valueOf('\ubaf7')); + charS.add(Character.valueOf('\ubaf8')); + charS.add(Character.valueOf('\ubaf9')); + charS.add(Character.valueOf('\ubafa')); + charS.add(Character.valueOf('\ubafb')); + charS.add(Character.valueOf('\ubafc')); + charS.add(Character.valueOf('\ubafd')); + charS.add(Character.valueOf('\ubafe')); + charS.add(Character.valueOf('\ubaff')); + charS.add(Character.valueOf('\ubb00')); + charS.add(Character.valueOf('\ubb01')); + charS.add(Character.valueOf('\ubb02')); + charS.add(Character.valueOf('\ubb03')); + charS.add(Character.valueOf('\ubb04')); + charS.add(Character.valueOf('\ubb05')); + charS.add(Character.valueOf('\ubb06')); + charS.add(Character.valueOf('\ubb07')); + charS.add(Character.valueOf('\ubb08')); + charS.add(Character.valueOf('\ubb09')); + charS.add(Character.valueOf('\ubb0a')); + charS.add(Character.valueOf('\ubb0b')); + charS.add(Character.valueOf('\ubb0c')); + charS.add(Character.valueOf('\ubb0d')); + charS.add(Character.valueOf('\ubb0e')); + charS.add(Character.valueOf('\ubb0f')); + charS.add(Character.valueOf('\ubb10')); + charS.add(Character.valueOf('\ubb11')); + charS.add(Character.valueOf('\ubb12')); + charS.add(Character.valueOf('\ubb13')); + charS.add(Character.valueOf('\ubb14')); + charS.add(Character.valueOf('\ubb15')); + charS.add(Character.valueOf('\ubb16')); + charS.add(Character.valueOf('\ubb17')); + charS.add(Character.valueOf('\ubb18')); + charS.add(Character.valueOf('\ubb19')); + charS.add(Character.valueOf('\ubb1a')); + charS.add(Character.valueOf('\ubb1b')); + charS.add(Character.valueOf('\ubb1c')); + charS.add(Character.valueOf('\ubb1d')); + charS.add(Character.valueOf('\ubb1e')); + charS.add(Character.valueOf('\ubb1f')); + charS.add(Character.valueOf('\ubb20')); + charS.add(Character.valueOf('\ubb21')); + charS.add(Character.valueOf('\ubb22')); + charS.add(Character.valueOf('\ubb23')); + charS.add(Character.valueOf('\ubb24')); + charS.add(Character.valueOf('\ubb25')); + charS.add(Character.valueOf('\ubb26')); + charS.add(Character.valueOf('\ubb27')); + charS.add(Character.valueOf('\ubb28')); + charS.add(Character.valueOf('\ubb29')); + charS.add(Character.valueOf('\ubb2a')); + charS.add(Character.valueOf('\ubb2b')); + charS.add(Character.valueOf('\ubb2c')); + charS.add(Character.valueOf('\ubb2d')); + charS.add(Character.valueOf('\ubb2e')); + charS.add(Character.valueOf('\ubb2f')); + charS.add(Character.valueOf('\ubb30')); + charS.add(Character.valueOf('\ubb31')); + charS.add(Character.valueOf('\ubb32')); + charS.add(Character.valueOf('\ubb33')); + charS.add(Character.valueOf('\ubb34')); + charS.add(Character.valueOf('\ubb35')); + charS.add(Character.valueOf('\ubb36')); + charS.add(Character.valueOf('\ubb37')); + charS.add(Character.valueOf('\ubb38')); + charS.add(Character.valueOf('\ubb39')); + charS.add(Character.valueOf('\ubb3a')); + charS.add(Character.valueOf('\ubb3b')); + charS.add(Character.valueOf('\ubb3c')); + charS.add(Character.valueOf('\ubb3d')); + charS.add(Character.valueOf('\ubb3e')); + charS.add(Character.valueOf('\ubb3f')); + charS.add(Character.valueOf('\ubb40')); + charS.add(Character.valueOf('\ubb41')); + charS.add(Character.valueOf('\ubb42')); + charS.add(Character.valueOf('\ubb43')); + charS.add(Character.valueOf('\ubb44')); + charS.add(Character.valueOf('\ubb45')); + charS.add(Character.valueOf('\ubb46')); + charS.add(Character.valueOf('\ubb47')); + charS.add(Character.valueOf('\ubb48')); + charS.add(Character.valueOf('\ubb49')); + charS.add(Character.valueOf('\ubb4a')); + charS.add(Character.valueOf('\ubb4b')); + charS.add(Character.valueOf('\ubb4c')); + charS.add(Character.valueOf('\ubb4d')); + charS.add(Character.valueOf('\ubb4e')); + charS.add(Character.valueOf('\ubb4f')); + charS.add(Character.valueOf('\ubb50')); + charS.add(Character.valueOf('\ubb51')); + charS.add(Character.valueOf('\ubb52')); + charS.add(Character.valueOf('\ubb53')); + charS.add(Character.valueOf('\ubb54')); + charS.add(Character.valueOf('\ubb55')); + charS.add(Character.valueOf('\ubb56')); + charS.add(Character.valueOf('\ubb57')); + charS.add(Character.valueOf('\ubb58')); + charS.add(Character.valueOf('\ubb59')); + charS.add(Character.valueOf('\ubb5a')); + charS.add(Character.valueOf('\ubb5b')); + charS.add(Character.valueOf('\ubb5c')); + charS.add(Character.valueOf('\ubb5d')); + charS.add(Character.valueOf('\ubb5e')); + charS.add(Character.valueOf('\ubb5f')); + charS.add(Character.valueOf('\ubb60')); + charS.add(Character.valueOf('\ubb61')); + charS.add(Character.valueOf('\ubb62')); + charS.add(Character.valueOf('\ubb63')); + charS.add(Character.valueOf('\ubb64')); + charS.add(Character.valueOf('\ubb65')); + charS.add(Character.valueOf('\ubb66')); + charS.add(Character.valueOf('\ubb67')); + charS.add(Character.valueOf('\ubb68')); + charS.add(Character.valueOf('\ubb69')); + charS.add(Character.valueOf('\ubb6a')); + charS.add(Character.valueOf('\ubb6b')); + charS.add(Character.valueOf('\ubb6c')); + charS.add(Character.valueOf('\ubb6d')); + charS.add(Character.valueOf('\ubb6e')); + charS.add(Character.valueOf('\ubb6f')); + charS.add(Character.valueOf('\ubb70')); + charS.add(Character.valueOf('\ubb71')); + charS.add(Character.valueOf('\ubb72')); + charS.add(Character.valueOf('\ubb73')); + charS.add(Character.valueOf('\ubb74')); + charS.add(Character.valueOf('\ubb75')); + charS.add(Character.valueOf('\ubb76')); + charS.add(Character.valueOf('\ubb77')); + charS.add(Character.valueOf('\ubb78')); + charS.add(Character.valueOf('\ubb79')); + charS.add(Character.valueOf('\ubb7a')); + charS.add(Character.valueOf('\ubb7b')); + charS.add(Character.valueOf('\ubb7c')); + charS.add(Character.valueOf('\ubb7d')); + charS.add(Character.valueOf('\ubb7e')); + charS.add(Character.valueOf('\ubb7f')); + charS.add(Character.valueOf('\ubb80')); + charS.add(Character.valueOf('\ubb81')); + charS.add(Character.valueOf('\ubb82')); + charS.add(Character.valueOf('\ubb83')); + charS.add(Character.valueOf('\ubb84')); + charS.add(Character.valueOf('\ubb85')); + charS.add(Character.valueOf('\ubb86')); + charS.add(Character.valueOf('\ubb87')); + charS.add(Character.valueOf('\ubb88')); + charS.add(Character.valueOf('\ubb89')); + charS.add(Character.valueOf('\ubb8a')); + charS.add(Character.valueOf('\ubb8b')); + charS.add(Character.valueOf('\ubb8c')); + charS.add(Character.valueOf('\ubb8d')); + charS.add(Character.valueOf('\ubb8e')); + charS.add(Character.valueOf('\ubb8f')); + charS.add(Character.valueOf('\ubb90')); + charS.add(Character.valueOf('\ubb91')); + charS.add(Character.valueOf('\ubb92')); + charS.add(Character.valueOf('\ubb93')); + charS.add(Character.valueOf('\ubb94')); + charS.add(Character.valueOf('\ubb95')); + charS.add(Character.valueOf('\ubb96')); + charS.add(Character.valueOf('\ubb97')); + charS.add(Character.valueOf('\ubb98')); + charS.add(Character.valueOf('\ubb99')); + charS.add(Character.valueOf('\ubb9a')); + charS.add(Character.valueOf('\ubb9b')); + charS.add(Character.valueOf('\ubb9c')); + charS.add(Character.valueOf('\ubb9d')); + charS.add(Character.valueOf('\ubb9e')); + charS.add(Character.valueOf('\ubb9f')); + charS.add(Character.valueOf('\ubba0')); + charS.add(Character.valueOf('\ubba1')); + charS.add(Character.valueOf('\ubba2')); + charS.add(Character.valueOf('\ubba3')); + charS.add(Character.valueOf('\ubba4')); + charS.add(Character.valueOf('\ubba5')); + charS.add(Character.valueOf('\ubba6')); + charS.add(Character.valueOf('\ubba7')); + charS.add(Character.valueOf('\ubba8')); + charS.add(Character.valueOf('\ubba9')); + charS.add(Character.valueOf('\ubbaa')); + charS.add(Character.valueOf('\ubbab')); + charS.add(Character.valueOf('\ubbac')); + charS.add(Character.valueOf('\ubbad')); + charS.add(Character.valueOf('\ubbae')); + charS.add(Character.valueOf('\ubbaf')); + charS.add(Character.valueOf('\ubbb0')); + charS.add(Character.valueOf('\ubbb1')); + charS.add(Character.valueOf('\ubbb2')); + charS.add(Character.valueOf('\ubbb3')); + charS.add(Character.valueOf('\ubbb4')); + charS.add(Character.valueOf('\ubbb5')); + charS.add(Character.valueOf('\ubbb6')); + charS.add(Character.valueOf('\ubbb7')); + charS.add(Character.valueOf('\ubbb8')); + charS.add(Character.valueOf('\ubbb9')); + charS.add(Character.valueOf('\ubbba')); + charS.add(Character.valueOf('\ubbbb')); + charS.add(Character.valueOf('\ubbbc')); + charS.add(Character.valueOf('\ubb3d')); + charS.add(Character.valueOf('\ubbbe')); + charS.add(Character.valueOf('\ubbbf')); + charS.add(Character.valueOf('\ubbc0')); + charS.add(Character.valueOf('\ubbc1')); + charS.add(Character.valueOf('\ubbc2')); + charS.add(Character.valueOf('\ubbc3')); + charS.add(Character.valueOf('\ubbc4')); + charS.add(Character.valueOf('\ubbc5')); + charS.add(Character.valueOf('\ubbc6')); + charS.add(Character.valueOf('\ubbc7')); + charS.add(Character.valueOf('\ubbc8')); + charS.add(Character.valueOf('\ubbc9')); + charS.add(Character.valueOf('\ubbca')); + charS.add(Character.valueOf('\ubbcb')); + charS.add(Character.valueOf('\ubbcc')); + charS.add(Character.valueOf('\ubbcd')); + charS.add(Character.valueOf('\ubbce')); + charS.add(Character.valueOf('\ubbcf')); + charS.add(Character.valueOf('\ubbd0')); + charS.add(Character.valueOf('\ubbd1')); + charS.add(Character.valueOf('\ubbd2')); + charS.add(Character.valueOf('\ubbd3')); + charS.add(Character.valueOf('\ubbd4')); + charS.add(Character.valueOf('\ubbd5')); + charS.add(Character.valueOf('\ubbd6')); + charS.add(Character.valueOf('\ubbd7')); + charS.add(Character.valueOf('\ubbd8')); + charS.add(Character.valueOf('\ubbd9')); + charS.add(Character.valueOf('\ubbda')); + charS.add(Character.valueOf('\ubbdb')); + charS.add(Character.valueOf('\ubbdc')); + charS.add(Character.valueOf('\ubbdd')); + charS.add(Character.valueOf('\ubbde')); + charS.add(Character.valueOf('\ubbdf')); + charS.add(Character.valueOf('\ubbe0')); + charS.add(Character.valueOf('\ubbe1')); + charS.add(Character.valueOf('\ubbe2')); + charS.add(Character.valueOf('\ubbe3')); + charS.add(Character.valueOf('\ubbe4')); + charS.add(Character.valueOf('\ubbe5')); + charS.add(Character.valueOf('\ubbe6')); + charS.add(Character.valueOf('\ubbe7')); + charS.add(Character.valueOf('\ubbe8')); + charS.add(Character.valueOf('\ubbe9')); + charS.add(Character.valueOf('\ubbea')); + charS.add(Character.valueOf('\ubbeb')); + charS.add(Character.valueOf('\ubbec')); + charS.add(Character.valueOf('\ubbed')); + charS.add(Character.valueOf('\ubbee')); + charS.add(Character.valueOf('\ubbef')); + charS.add(Character.valueOf('\ubbf0')); + charS.add(Character.valueOf('\ubbf1')); + charS.add(Character.valueOf('\ubbf2')); + charS.add(Character.valueOf('\ubbf3')); + charS.add(Character.valueOf('\ubbf4')); + charS.add(Character.valueOf('\ubbf5')); + charS.add(Character.valueOf('\ubbf6')); + charS.add(Character.valueOf('\ubbf7')); + charS.add(Character.valueOf('\ubbf8')); + charS.add(Character.valueOf('\ubbf9')); + charS.add(Character.valueOf('\ubbfa')); + charS.add(Character.valueOf('\ubbfb')); + charS.add(Character.valueOf('\ubbfc')); + charS.add(Character.valueOf('\ubbfd')); + charS.add(Character.valueOf('\ubbfe')); + charS.add(Character.valueOf('\ubbff')); + charS.add(Character.valueOf('\ubd00')); + charS.add(Character.valueOf('\ubd01')); + charS.add(Character.valueOf('\ubd02')); + charS.add(Character.valueOf('\ubd03')); + charS.add(Character.valueOf('\ubd04')); + charS.add(Character.valueOf('\ubd05')); + charS.add(Character.valueOf('\ubd06')); + charS.add(Character.valueOf('\ubd07')); + charS.add(Character.valueOf('\ubd08')); + charS.add(Character.valueOf('\ubd09')); + charS.add(Character.valueOf('\ubd0a')); + charS.add(Character.valueOf('\ubd0b')); + charS.add(Character.valueOf('\ubd0c')); + charS.add(Character.valueOf('\ubd0d')); + charS.add(Character.valueOf('\ubd0e')); + charS.add(Character.valueOf('\ubd0f')); + charS.add(Character.valueOf('\ubd10')); + charS.add(Character.valueOf('\ubd11')); + charS.add(Character.valueOf('\ubd12')); + charS.add(Character.valueOf('\ubd13')); + charS.add(Character.valueOf('\ubd14')); + charS.add(Character.valueOf('\ubd15')); + charS.add(Character.valueOf('\ubd16')); + charS.add(Character.valueOf('\ubd17')); + charS.add(Character.valueOf('\ubd18')); + charS.add(Character.valueOf('\ubd19')); + charS.add(Character.valueOf('\ubd1a')); + charS.add(Character.valueOf('\ubd1b')); + charS.add(Character.valueOf('\ubd1c')); + charS.add(Character.valueOf('\ubd1d')); + charS.add(Character.valueOf('\ubd1e')); + charS.add(Character.valueOf('\ubd1f')); + charS.add(Character.valueOf('\ubd20')); + charS.add(Character.valueOf('\ubd21')); + charS.add(Character.valueOf('\ubd22')); + charS.add(Character.valueOf('\ubd23')); + charS.add(Character.valueOf('\ubd24')); + charS.add(Character.valueOf('\ubd25')); + charS.add(Character.valueOf('\ubd26')); + charS.add(Character.valueOf('\ubd27')); + charS.add(Character.valueOf('\ubd28')); + charS.add(Character.valueOf('\ubd29')); + charS.add(Character.valueOf('\ubd2a')); + charS.add(Character.valueOf('\ubd2b')); + charS.add(Character.valueOf('\ubd2c')); + charS.add(Character.valueOf('\ubd2d')); + charS.add(Character.valueOf('\ubd2e')); + charS.add(Character.valueOf('\ubd2f')); + charS.add(Character.valueOf('\ubd30')); + charS.add(Character.valueOf('\ubd31')); + charS.add(Character.valueOf('\ubd32')); + charS.add(Character.valueOf('\ubd33')); + charS.add(Character.valueOf('\ubd34')); + charS.add(Character.valueOf('\ubd35')); + charS.add(Character.valueOf('\ubd36')); + charS.add(Character.valueOf('\ubd37')); + charS.add(Character.valueOf('\ubd38')); + charS.add(Character.valueOf('\ubd39')); + charS.add(Character.valueOf('\ubd3a')); + charS.add(Character.valueOf('\ubd3b')); + charS.add(Character.valueOf('\ubd3c')); + charS.add(Character.valueOf('\ubd3d')); + charS.add(Character.valueOf('\ubd3e')); + charS.add(Character.valueOf('\ubd3f')); + charS.add(Character.valueOf('\ubd40')); + charS.add(Character.valueOf('\ubd41')); + charS.add(Character.valueOf('\ubd42')); + charS.add(Character.valueOf('\ubd43')); + charS.add(Character.valueOf('\ubd44')); + charS.add(Character.valueOf('\ubd45')); + charS.add(Character.valueOf('\ubd46')); + charS.add(Character.valueOf('\ubd47')); + charS.add(Character.valueOf('\ubd48')); + charS.add(Character.valueOf('\ubd49')); + charS.add(Character.valueOf('\ubd4a')); + charS.add(Character.valueOf('\ubd4b')); + charS.add(Character.valueOf('\ubd4c')); + charS.add(Character.valueOf('\ubd4d')); + charS.add(Character.valueOf('\ubd4e')); + charS.add(Character.valueOf('\ubd4f')); + charS.add(Character.valueOf('\ubd50')); + charS.add(Character.valueOf('\ubd51')); + charS.add(Character.valueOf('\ubd52')); + charS.add(Character.valueOf('\ubd53')); + charS.add(Character.valueOf('\ubd54')); + charS.add(Character.valueOf('\ubd55')); + charS.add(Character.valueOf('\ubd56')); + charS.add(Character.valueOf('\ubd57')); + charS.add(Character.valueOf('\ubd58')); + charS.add(Character.valueOf('\ubd59')); + charS.add(Character.valueOf('\ubd5a')); + charS.add(Character.valueOf('\ubd5b')); + charS.add(Character.valueOf('\ubd5c')); + charS.add(Character.valueOf('\ubd5d')); + charS.add(Character.valueOf('\ubd5e')); + charS.add(Character.valueOf('\ubd5f')); + charS.add(Character.valueOf('\ubd60')); + charS.add(Character.valueOf('\ubd61')); + charS.add(Character.valueOf('\ubd62')); + charS.add(Character.valueOf('\ubd63')); + charS.add(Character.valueOf('\ubd64')); + charS.add(Character.valueOf('\ubd65')); + charS.add(Character.valueOf('\ubd66')); + charS.add(Character.valueOf('\ubd67')); + charS.add(Character.valueOf('\ubd68')); + charS.add(Character.valueOf('\ubd69')); + charS.add(Character.valueOf('\ubd6a')); + charS.add(Character.valueOf('\ubd6b')); + charS.add(Character.valueOf('\ubd6c')); + charS.add(Character.valueOf('\ubd6d')); + charS.add(Character.valueOf('\ubd6e')); + charS.add(Character.valueOf('\ubd6f')); + charS.add(Character.valueOf('\ubd70')); + charS.add(Character.valueOf('\ubd71')); + charS.add(Character.valueOf('\ubd72')); + charS.add(Character.valueOf('\ubd73')); + charS.add(Character.valueOf('\ubd74')); + charS.add(Character.valueOf('\ubd75')); + charS.add(Character.valueOf('\ubd76')); + charS.add(Character.valueOf('\ubd77')); + charS.add(Character.valueOf('\ubd78')); + charS.add(Character.valueOf('\ubd79')); + charS.add(Character.valueOf('\ubd7a')); + charS.add(Character.valueOf('\ubd7b')); + charS.add(Character.valueOf('\ubd7c')); + charS.add(Character.valueOf('\ubd7d')); + charS.add(Character.valueOf('\ubd7e')); + charS.add(Character.valueOf('\ubd7f')); + charS.add(Character.valueOf('\ubd80')); + charS.add(Character.valueOf('\ubd81')); + charS.add(Character.valueOf('\ubd82')); + charS.add(Character.valueOf('\ubd83')); + charS.add(Character.valueOf('\ubd84')); + charS.add(Character.valueOf('\ubd85')); + charS.add(Character.valueOf('\ubd86')); + charS.add(Character.valueOf('\ubd87')); + charS.add(Character.valueOf('\ubd88')); + charS.add(Character.valueOf('\ubd89')); + charS.add(Character.valueOf('\ubd8a')); + charS.add(Character.valueOf('\ubd8b')); + charS.add(Character.valueOf('\ubd8c')); + charS.add(Character.valueOf('\ubd8d')); + charS.add(Character.valueOf('\ubd8e')); + charS.add(Character.valueOf('\ubd8f')); + charS.add(Character.valueOf('\ubd90')); + charS.add(Character.valueOf('\ubd91')); + charS.add(Character.valueOf('\ubd92')); + charS.add(Character.valueOf('\ubd93')); + charS.add(Character.valueOf('\ubd94')); + charS.add(Character.valueOf('\ubd95')); + charS.add(Character.valueOf('\ubd96')); + charS.add(Character.valueOf('\ubd97')); + charS.add(Character.valueOf('\ubd98')); + charS.add(Character.valueOf('\ubd99')); + charS.add(Character.valueOf('\ubd9a')); + charS.add(Character.valueOf('\ubd9b')); + charS.add(Character.valueOf('\ubd9c')); + charS.add(Character.valueOf('\ubd9d')); + charS.add(Character.valueOf('\ubd9e')); + charS.add(Character.valueOf('\ubd9f')); + charS.add(Character.valueOf('\ubda0')); + charS.add(Character.valueOf('\ubda1')); + charS.add(Character.valueOf('\ubda2')); + charS.add(Character.valueOf('\ubda3')); + charS.add(Character.valueOf('\ubda4')); + charS.add(Character.valueOf('\ubda5')); + charS.add(Character.valueOf('\ubda6')); + charS.add(Character.valueOf('\ubda7')); + charS.add(Character.valueOf('\ubda8')); + charS.add(Character.valueOf('\ubda9')); + charS.add(Character.valueOf('\ubdaa')); + charS.add(Character.valueOf('\ubdab')); + charS.add(Character.valueOf('\ubdac')); + charS.add(Character.valueOf('\ubdad')); + charS.add(Character.valueOf('\ubdae')); + charS.add(Character.valueOf('\ubdaf')); + charS.add(Character.valueOf('\ubdb0')); + charS.add(Character.valueOf('\ubdb1')); + charS.add(Character.valueOf('\ubdb2')); + charS.add(Character.valueOf('\ubdb3')); + charS.add(Character.valueOf('\ubdb4')); + charS.add(Character.valueOf('\ubdb5')); + charS.add(Character.valueOf('\ubdb6')); + charS.add(Character.valueOf('\ubdb7')); + charS.add(Character.valueOf('\ubdb8')); + charS.add(Character.valueOf('\ubdb9')); + charS.add(Character.valueOf('\ubdba')); + charS.add(Character.valueOf('\ubdbb')); + charS.add(Character.valueOf('\ubdbc')); + charS.add(Character.valueOf('\ubd3d')); + charS.add(Character.valueOf('\ubdbe')); + charS.add(Character.valueOf('\ubdbf')); + charS.add(Character.valueOf('\ubdc0')); + charS.add(Character.valueOf('\ubdc1')); + charS.add(Character.valueOf('\ubdc2')); + charS.add(Character.valueOf('\ubdc3')); + charS.add(Character.valueOf('\ubdc4')); + charS.add(Character.valueOf('\ubdc5')); + charS.add(Character.valueOf('\ubdc6')); + charS.add(Character.valueOf('\ubdc7')); + charS.add(Character.valueOf('\ubdc8')); + charS.add(Character.valueOf('\ubdc9')); + charS.add(Character.valueOf('\ubdca')); + charS.add(Character.valueOf('\ubdcb')); + charS.add(Character.valueOf('\ubdcc')); + charS.add(Character.valueOf('\ubdcd')); + charS.add(Character.valueOf('\ubdce')); + charS.add(Character.valueOf('\ubdcf')); + charS.add(Character.valueOf('\ubdd0')); + charS.add(Character.valueOf('\ubdd1')); + charS.add(Character.valueOf('\ubdd2')); + charS.add(Character.valueOf('\ubdd3')); + charS.add(Character.valueOf('\ubdd4')); + charS.add(Character.valueOf('\ubdd5')); + charS.add(Character.valueOf('\ubdd6')); + charS.add(Character.valueOf('\ubdd7')); + charS.add(Character.valueOf('\ubdd8')); + charS.add(Character.valueOf('\ubdd9')); + charS.add(Character.valueOf('\ubdda')); + charS.add(Character.valueOf('\ubddb')); + charS.add(Character.valueOf('\ubddc')); + charS.add(Character.valueOf('\ubddd')); + charS.add(Character.valueOf('\ubdde')); + charS.add(Character.valueOf('\ubddf')); + charS.add(Character.valueOf('\ubde0')); + charS.add(Character.valueOf('\ubde1')); + charS.add(Character.valueOf('\ubde2')); + charS.add(Character.valueOf('\ubde3')); + charS.add(Character.valueOf('\ubde4')); + charS.add(Character.valueOf('\ubde5')); + charS.add(Character.valueOf('\ubde6')); + charS.add(Character.valueOf('\ubde7')); + charS.add(Character.valueOf('\ubde8')); + charS.add(Character.valueOf('\ubde9')); + charS.add(Character.valueOf('\ubdea')); + charS.add(Character.valueOf('\ubdeb')); + charS.add(Character.valueOf('\ubdec')); + charS.add(Character.valueOf('\ubded')); + charS.add(Character.valueOf('\ubdee')); + charS.add(Character.valueOf('\ubdef')); + charS.add(Character.valueOf('\ubdf0')); + charS.add(Character.valueOf('\ubdf1')); + charS.add(Character.valueOf('\ubdf2')); + charS.add(Character.valueOf('\ubdf3')); + charS.add(Character.valueOf('\ubdf4')); + charS.add(Character.valueOf('\ubdf5')); + charS.add(Character.valueOf('\ubdf6')); + charS.add(Character.valueOf('\ubdf7')); + charS.add(Character.valueOf('\ubdf8')); + charS.add(Character.valueOf('\ubdf9')); + charS.add(Character.valueOf('\ubdfa')); + charS.add(Character.valueOf('\ubdfb')); + charS.add(Character.valueOf('\ubdfc')); + charS.add(Character.valueOf('\ubdfd')); + charS.add(Character.valueOf('\ubdfe')); + charS.add(Character.valueOf('\ubdff')); + charS.add(Character.valueOf('\ube00')); + charS.add(Character.valueOf('\ube01')); + charS.add(Character.valueOf('\ube02')); + charS.add(Character.valueOf('\ube03')); + charS.add(Character.valueOf('\ube04')); + charS.add(Character.valueOf('\ube05')); + charS.add(Character.valueOf('\ube06')); + charS.add(Character.valueOf('\ube07')); + charS.add(Character.valueOf('\ube08')); + charS.add(Character.valueOf('\ube09')); + charS.add(Character.valueOf('\ube0a')); + charS.add(Character.valueOf('\ube0b')); + charS.add(Character.valueOf('\ube0c')); + charS.add(Character.valueOf('\ube0d')); + charS.add(Character.valueOf('\ube0e')); + charS.add(Character.valueOf('\ube0f')); + charS.add(Character.valueOf('\ube10')); + charS.add(Character.valueOf('\ube11')); + charS.add(Character.valueOf('\ube12')); + charS.add(Character.valueOf('\ube13')); + charS.add(Character.valueOf('\ube14')); + charS.add(Character.valueOf('\ube15')); + charS.add(Character.valueOf('\ube16')); + charS.add(Character.valueOf('\ube17')); + charS.add(Character.valueOf('\ube18')); + charS.add(Character.valueOf('\ube19')); + charS.add(Character.valueOf('\ube1a')); + charS.add(Character.valueOf('\ube1b')); + charS.add(Character.valueOf('\ube1c')); + charS.add(Character.valueOf('\ube1d')); + charS.add(Character.valueOf('\ube1e')); + charS.add(Character.valueOf('\ube1f')); + charS.add(Character.valueOf('\ube20')); + charS.add(Character.valueOf('\ube21')); + charS.add(Character.valueOf('\ube22')); + charS.add(Character.valueOf('\ube23')); + charS.add(Character.valueOf('\ube24')); + charS.add(Character.valueOf('\ube25')); + charS.add(Character.valueOf('\ube26')); + charS.add(Character.valueOf('\ube27')); + charS.add(Character.valueOf('\ube28')); + charS.add(Character.valueOf('\ube29')); + charS.add(Character.valueOf('\ube2a')); + charS.add(Character.valueOf('\ube2b')); + charS.add(Character.valueOf('\ube2c')); + charS.add(Character.valueOf('\ube2d')); + charS.add(Character.valueOf('\ube2e')); + charS.add(Character.valueOf('\ube2f')); + charS.add(Character.valueOf('\ube30')); + charS.add(Character.valueOf('\ube31')); + charS.add(Character.valueOf('\ube32')); + charS.add(Character.valueOf('\ube33')); + charS.add(Character.valueOf('\ube34')); + charS.add(Character.valueOf('\ube35')); + charS.add(Character.valueOf('\ube36')); + charS.add(Character.valueOf('\ube37')); + charS.add(Character.valueOf('\ube38')); + charS.add(Character.valueOf('\ube39')); + charS.add(Character.valueOf('\ube3a')); + charS.add(Character.valueOf('\ube3b')); + charS.add(Character.valueOf('\ube3c')); + charS.add(Character.valueOf('\ube3d')); + charS.add(Character.valueOf('\ube3e')); + charS.add(Character.valueOf('\ube3f')); + charS.add(Character.valueOf('\ube40')); + charS.add(Character.valueOf('\ube41')); + charS.add(Character.valueOf('\ube42')); + charS.add(Character.valueOf('\ube43')); + charS.add(Character.valueOf('\ube44')); + charS.add(Character.valueOf('\ube45')); + charS.add(Character.valueOf('\ube46')); + charS.add(Character.valueOf('\ube47')); + charS.add(Character.valueOf('\ube48')); + charS.add(Character.valueOf('\ube49')); + charS.add(Character.valueOf('\ube4a')); + charS.add(Character.valueOf('\ube4b')); + charS.add(Character.valueOf('\ube4c')); + charS.add(Character.valueOf('\ube4d')); + charS.add(Character.valueOf('\ube4e')); + charS.add(Character.valueOf('\ube4f')); + charS.add(Character.valueOf('\ube50')); + charS.add(Character.valueOf('\ube51')); + charS.add(Character.valueOf('\ube52')); + charS.add(Character.valueOf('\ube53')); + charS.add(Character.valueOf('\ube54')); + charS.add(Character.valueOf('\ube55')); + charS.add(Character.valueOf('\ube56')); + charS.add(Character.valueOf('\ube57')); + charS.add(Character.valueOf('\ube58')); + charS.add(Character.valueOf('\ube59')); + charS.add(Character.valueOf('\ube5a')); + charS.add(Character.valueOf('\ube5b')); + charS.add(Character.valueOf('\ube5c')); + charS.add(Character.valueOf('\ube5d')); + charS.add(Character.valueOf('\ube5e')); + charS.add(Character.valueOf('\ube5f')); + charS.add(Character.valueOf('\ube60')); + charS.add(Character.valueOf('\ube61')); + charS.add(Character.valueOf('\ube62')); + charS.add(Character.valueOf('\ube63')); + charS.add(Character.valueOf('\ube64')); + charS.add(Character.valueOf('\ube65')); + charS.add(Character.valueOf('\ube66')); + charS.add(Character.valueOf('\ube67')); + charS.add(Character.valueOf('\ube68')); + charS.add(Character.valueOf('\ube69')); + charS.add(Character.valueOf('\ube6a')); + charS.add(Character.valueOf('\ube6b')); + charS.add(Character.valueOf('\ube6c')); + charS.add(Character.valueOf('\ube6d')); + charS.add(Character.valueOf('\ube6e')); + charS.add(Character.valueOf('\ube6f')); + charS.add(Character.valueOf('\ube70')); + charS.add(Character.valueOf('\ube71')); + charS.add(Character.valueOf('\ube72')); + charS.add(Character.valueOf('\ube73')); + charS.add(Character.valueOf('\ube74')); + charS.add(Character.valueOf('\ube75')); + charS.add(Character.valueOf('\ube76')); + charS.add(Character.valueOf('\ube77')); + charS.add(Character.valueOf('\ube78')); + charS.add(Character.valueOf('\ube79')); + charS.add(Character.valueOf('\ube7a')); + charS.add(Character.valueOf('\ube7b')); + charS.add(Character.valueOf('\ube7c')); + charS.add(Character.valueOf('\ube7d')); + charS.add(Character.valueOf('\ube7e')); + charS.add(Character.valueOf('\ube7f')); + charS.add(Character.valueOf('\ube80')); + charS.add(Character.valueOf('\ube81')); + charS.add(Character.valueOf('\ube82')); + charS.add(Character.valueOf('\ube83')); + charS.add(Character.valueOf('\ube84')); + charS.add(Character.valueOf('\ube85')); + charS.add(Character.valueOf('\ube86')); + charS.add(Character.valueOf('\ube87')); + charS.add(Character.valueOf('\ube88')); + charS.add(Character.valueOf('\ube89')); + charS.add(Character.valueOf('\ube8a')); + charS.add(Character.valueOf('\ube8b')); + charS.add(Character.valueOf('\ube8c')); + charS.add(Character.valueOf('\ube8d')); + charS.add(Character.valueOf('\ube8e')); + charS.add(Character.valueOf('\ube8f')); + charS.add(Character.valueOf('\ube90')); + charS.add(Character.valueOf('\ube91')); + charS.add(Character.valueOf('\ube92')); + charS.add(Character.valueOf('\ube93')); + charS.add(Character.valueOf('\ube94')); + charS.add(Character.valueOf('\ube95')); + charS.add(Character.valueOf('\ube96')); + charS.add(Character.valueOf('\ube97')); + charS.add(Character.valueOf('\ube98')); + charS.add(Character.valueOf('\ube99')); + charS.add(Character.valueOf('\ube9a')); + charS.add(Character.valueOf('\ube9b')); + charS.add(Character.valueOf('\ube9c')); + charS.add(Character.valueOf('\ube9d')); + charS.add(Character.valueOf('\ubf00')); + charS.add(Character.valueOf('\ubf01')); + charS.add(Character.valueOf('\ubf02')); + charS.add(Character.valueOf('\ubf03')); + charS.add(Character.valueOf('\ubf04')); + charS.add(Character.valueOf('\ubf05')); + charS.add(Character.valueOf('\ubf06')); + charS.add(Character.valueOf('\ubf07')); + charS.add(Character.valueOf('\ubf08')); + charS.add(Character.valueOf('\ubf09')); + charS.add(Character.valueOf('\ubf0a')); + charS.add(Character.valueOf('\ubf0b')); + charS.add(Character.valueOf('\ubf0c')); + charS.add(Character.valueOf('\ubf0d')); + charS.add(Character.valueOf('\ubf0e')); + charS.add(Character.valueOf('\ubf0f')); + charS.add(Character.valueOf('\ubf10')); + charS.add(Character.valueOf('\ubf11')); + charS.add(Character.valueOf('\ubf12')); + charS.add(Character.valueOf('\ubf13')); + charS.add(Character.valueOf('\ubf14')); + charS.add(Character.valueOf('\ubf15')); + charS.add(Character.valueOf('\ubf16')); + charS.add(Character.valueOf('\ubf17')); + charS.add(Character.valueOf('\ubf18')); + charS.add(Character.valueOf('\ubf19')); + charS.add(Character.valueOf('\ubf1a')); + charS.add(Character.valueOf('\ubf1b')); + charS.add(Character.valueOf('\ubf1c')); + charS.add(Character.valueOf('\ubf1d')); + charS.add(Character.valueOf('\ubf1e')); + charS.add(Character.valueOf('\ubf1f')); + charS.add(Character.valueOf('\ubf20')); + charS.add(Character.valueOf('\ubf21')); + charS.add(Character.valueOf('\ubf22')); + charS.add(Character.valueOf('\ubf23')); + charS.add(Character.valueOf('\ubf24')); + charS.add(Character.valueOf('\ubf25')); + charS.add(Character.valueOf('\ubf26')); + charS.add(Character.valueOf('\ubf27')); + charS.add(Character.valueOf('\ubf28')); + charS.add(Character.valueOf('\ubf29')); + charS.add(Character.valueOf('\ubf2a')); + charS.add(Character.valueOf('\ubf2b')); + charS.add(Character.valueOf('\ubf2c')); + charS.add(Character.valueOf('\ubf2d')); + charS.add(Character.valueOf('\ubf2e')); + charS.add(Character.valueOf('\ubf2f')); + charS.add(Character.valueOf('\ubf30')); + charS.add(Character.valueOf('\ubf31')); + charS.add(Character.valueOf('\ubf32')); + charS.add(Character.valueOf('\ubf33')); + charS.add(Character.valueOf('\ubf34')); + charS.add(Character.valueOf('\ubf35')); + charS.add(Character.valueOf('\ubf36')); + charS.add(Character.valueOf('\ubf37')); + charS.add(Character.valueOf('\ubf38')); + charS.add(Character.valueOf('\ubf39')); + charS.add(Character.valueOf('\ubf3a')); + charS.add(Character.valueOf('\ubf3b')); + charS.add(Character.valueOf('\ubf3c')); + charS.add(Character.valueOf('\ubf3d')); + charS.add(Character.valueOf('\ubf3e')); + charS.add(Character.valueOf('\ubf3f')); + charS.add(Character.valueOf('\ubf40')); + charS.add(Character.valueOf('\ubf41')); + charS.add(Character.valueOf('\ubf42')); + charS.add(Character.valueOf('\ubf43')); + charS.add(Character.valueOf('\ubf44')); + charS.add(Character.valueOf('\ubf45')); + charS.add(Character.valueOf('\ubf46')); + charS.add(Character.valueOf('\ubf47')); + charS.add(Character.valueOf('\ubf48')); + charS.add(Character.valueOf('\ubf49')); + charS.add(Character.valueOf('\ubf4a')); + charS.add(Character.valueOf('\ubf4b')); + charS.add(Character.valueOf('\ubf4c')); + charS.add(Character.valueOf('\ubf4d')); + charS.add(Character.valueOf('\ubf4e')); + charS.add(Character.valueOf('\ubf4f')); + charS.add(Character.valueOf('\ubf50')); + charS.add(Character.valueOf('\ubf51')); + charS.add(Character.valueOf('\ubf52')); + charS.add(Character.valueOf('\ubf53')); + charS.add(Character.valueOf('\ubf54')); + charS.add(Character.valueOf('\ubf55')); + charS.add(Character.valueOf('\ubf56')); + charS.add(Character.valueOf('\ubf57')); + charS.add(Character.valueOf('\ubf58')); + charS.add(Character.valueOf('\ubf59')); + charS.add(Character.valueOf('\ubf5a')); + charS.add(Character.valueOf('\ubf5b')); + charS.add(Character.valueOf('\ubf5c')); + charS.add(Character.valueOf('\ubf5d')); + charS.add(Character.valueOf('\ubf5e')); + charS.add(Character.valueOf('\ubf5f')); + charS.add(Character.valueOf('\ubf60')); + charS.add(Character.valueOf('\ubf61')); + charS.add(Character.valueOf('\ubf62')); + charS.add(Character.valueOf('\ubf63')); + charS.add(Character.valueOf('\ubf64')); + charS.add(Character.valueOf('\ubf65')); + charS.add(Character.valueOf('\ubf66')); + charS.add(Character.valueOf('\ubf67')); + charS.add(Character.valueOf('\ubf68')); + charS.add(Character.valueOf('\ubf69')); + charS.add(Character.valueOf('\ubf6a')); + charS.add(Character.valueOf('\ubf6b')); + charS.add(Character.valueOf('\ubf6c')); + charS.add(Character.valueOf('\ubf6d')); + charS.add(Character.valueOf('\ubf6e')); + charS.add(Character.valueOf('\ubf6f')); + charS.add(Character.valueOf('\ubf70')); + charS.add(Character.valueOf('\ubf71')); + charS.add(Character.valueOf('\ubf72')); + charS.add(Character.valueOf('\ubf73')); + charS.add(Character.valueOf('\ubf74')); + charS.add(Character.valueOf('\ubf75')); + charS.add(Character.valueOf('\ubf76')); + charS.add(Character.valueOf('\ubf77')); + charS.add(Character.valueOf('\ubf78')); + charS.add(Character.valueOf('\ubf79')); + charS.add(Character.valueOf('\ubf7a')); + charS.add(Character.valueOf('\ubf7b')); + charS.add(Character.valueOf('\ubf7c')); + charS.add(Character.valueOf('\ubf7d')); + charS.add(Character.valueOf('\ubf7e')); + charS.add(Character.valueOf('\ubf7f')); + charS.add(Character.valueOf('\ubf80')); + charS.add(Character.valueOf('\ubf81')); + charS.add(Character.valueOf('\ubf82')); + charS.add(Character.valueOf('\ubf83')); + charS.add(Character.valueOf('\ubf84')); + charS.add(Character.valueOf('\ubf85')); + charS.add(Character.valueOf('\ubf86')); + charS.add(Character.valueOf('\ubf87')); + charS.add(Character.valueOf('\ubf88')); + charS.add(Character.valueOf('\ubf89')); + charS.add(Character.valueOf('\ubf8a')); + charS.add(Character.valueOf('\ubf8b')); + charS.add(Character.valueOf('\ubf8c')); + charS.add(Character.valueOf('\ubf8d')); + charS.add(Character.valueOf('\ubf8e')); + charS.add(Character.valueOf('\ubf8f')); + charS.add(Character.valueOf('\ubf90')); + charS.add(Character.valueOf('\ubf91')); + charS.add(Character.valueOf('\ubf92')); + charS.add(Character.valueOf('\ubf93')); + charS.add(Character.valueOf('\ubf94')); + charS.add(Character.valueOf('\ubf95')); + charS.add(Character.valueOf('\ubf96')); + charS.add(Character.valueOf('\ubf97')); + charS.add(Character.valueOf('\ubf98')); + charS.add(Character.valueOf('\ubf99')); + charS.add(Character.valueOf('\ubf9a')); + charS.add(Character.valueOf('\ubf9b')); + charS.add(Character.valueOf('\ubf9c')); + charS.add(Character.valueOf('\ubf9d')); + charS.add(Character.valueOf('\ubf9e')); + charS.add(Character.valueOf('\ubf9f')); + charS.add(Character.valueOf('\ubfa0')); + charS.add(Character.valueOf('\ubfa1')); + charS.add(Character.valueOf('\ubfa2')); + charS.add(Character.valueOf('\ubfa3')); + charS.add(Character.valueOf('\ubfa4')); + charS.add(Character.valueOf('\ubfa5')); + charS.add(Character.valueOf('\ubfa6')); + charS.add(Character.valueOf('\ubfa7')); + charS.add(Character.valueOf('\ubfa8')); + charS.add(Character.valueOf('\ubfa9')); + charS.add(Character.valueOf('\ubfaa')); + charS.add(Character.valueOf('\ubfab')); + charS.add(Character.valueOf('\ubfac')); + charS.add(Character.valueOf('\ubfad')); + charS.add(Character.valueOf('\ubfae')); + charS.add(Character.valueOf('\ubfaf')); + charS.add(Character.valueOf('\ubfb0')); + charS.add(Character.valueOf('\ubfb1')); + charS.add(Character.valueOf('\ubfb2')); + charS.add(Character.valueOf('\ubfb3')); + charS.add(Character.valueOf('\ubfb4')); + charS.add(Character.valueOf('\ubfb5')); + charS.add(Character.valueOf('\ubfb6')); + charS.add(Character.valueOf('\ubfb7')); + charS.add(Character.valueOf('\ubfb8')); + charS.add(Character.valueOf('\ubfb9')); + charS.add(Character.valueOf('\ubfba')); + charS.add(Character.valueOf('\ubfbb')); + charS.add(Character.valueOf('\ubfbc')); + charS.add(Character.valueOf('\ubf3d')); + charS.add(Character.valueOf('\ubfbe')); + charS.add(Character.valueOf('\ubfbf')); + charS.add(Character.valueOf('\ubfc0')); + charS.add(Character.valueOf('\ubfc1')); + charS.add(Character.valueOf('\ubfc2')); + charS.add(Character.valueOf('\ubfc3')); + charS.add(Character.valueOf('\ubfc4')); + charS.add(Character.valueOf('\ubfc5')); + charS.add(Character.valueOf('\ubfc6')); + charS.add(Character.valueOf('\ubfc7')); + charS.add(Character.valueOf('\ubfc8')); + charS.add(Character.valueOf('\ubfc9')); + charS.add(Character.valueOf('\ubfca')); + charS.add(Character.valueOf('\ubfcb')); + charS.add(Character.valueOf('\ubfcc')); + charS.add(Character.valueOf('\ubfcd')); + charS.add(Character.valueOf('\ubfce')); + charS.add(Character.valueOf('\ubfcf')); + charS.add(Character.valueOf('\ubfd0')); + charS.add(Character.valueOf('\ubfd1')); + charS.add(Character.valueOf('\ubfd2')); + charS.add(Character.valueOf('\ubfd3')); + charS.add(Character.valueOf('\ubfd4')); + charS.add(Character.valueOf('\ubfd5')); + charS.add(Character.valueOf('\ubfd6')); + charS.add(Character.valueOf('\ubfd7')); + charS.add(Character.valueOf('\ubfd8')); + charS.add(Character.valueOf('\ubfd9')); + charS.add(Character.valueOf('\ubfda')); + charS.add(Character.valueOf('\ubfdb')); + charS.add(Character.valueOf('\ubfdc')); + charS.add(Character.valueOf('\ubfdd')); + charS.add(Character.valueOf('\ubfde')); + charS.add(Character.valueOf('\ubfdf')); + charS.add(Character.valueOf('\ubfe0')); + charS.add(Character.valueOf('\ubfe1')); + charS.add(Character.valueOf('\ubfe2')); + charS.add(Character.valueOf('\ubfe3')); + charS.add(Character.valueOf('\ubfe4')); + charS.add(Character.valueOf('\ubfe5')); + charS.add(Character.valueOf('\ubfe6')); + charS.add(Character.valueOf('\ubfe7')); + charS.add(Character.valueOf('\ubfe8')); + charS.add(Character.valueOf('\ubfe9')); + charS.add(Character.valueOf('\ubfea')); + charS.add(Character.valueOf('\ubfeb')); + charS.add(Character.valueOf('\ubfec')); + charS.add(Character.valueOf('\ubfed')); + charS.add(Character.valueOf('\ubfee')); + charS.add(Character.valueOf('\ubfef')); + charS.add(Character.valueOf('\ubff0')); + charS.add(Character.valueOf('\ubff1')); + charS.add(Character.valueOf('\ubff2')); + charS.add(Character.valueOf('\ubff3')); + charS.add(Character.valueOf('\ubff4')); + charS.add(Character.valueOf('\ubff5')); + charS.add(Character.valueOf('\ubff6')); + charS.add(Character.valueOf('\ubff7')); + charS.add(Character.valueOf('\ubff8')); + charS.add(Character.valueOf('\ubff9')); + charS.add(Character.valueOf('\ubffa')); + charS.add(Character.valueOf('\ubffb')); + charS.add(Character.valueOf('\ubffc')); + charS.add(Character.valueOf('\ubffd')); + charS.add(Character.valueOf('\ubffe')); + charS.add(Character.valueOf('\ubfff')); + return charS; + } + + public static List addCharEntryC() { + ArrayList charS = new ArrayList(); + charS.add(Character.valueOf('\uc000')); + charS.add(Character.valueOf('\uc001')); + charS.add(Character.valueOf('\uc002')); + charS.add(Character.valueOf('\uc003')); + charS.add(Character.valueOf('\uc004')); + charS.add(Character.valueOf('\uc005')); + charS.add(Character.valueOf('\uc006')); + charS.add(Character.valueOf('\uc007')); + charS.add(Character.valueOf('\uc008')); + charS.add(Character.valueOf('\uc009')); + charS.add(Character.valueOf('\uc00a')); + charS.add(Character.valueOf('\uc00b')); + charS.add(Character.valueOf('\uc00c')); + charS.add(Character.valueOf('\uc00d')); + charS.add(Character.valueOf('\uc00e')); + charS.add(Character.valueOf('\uc00f')); + charS.add(Character.valueOf('\uc010')); + charS.add(Character.valueOf('\uc011')); + charS.add(Character.valueOf('\uc012')); + charS.add(Character.valueOf('\uc013')); + charS.add(Character.valueOf('\uc014')); + charS.add(Character.valueOf('\uc015')); + charS.add(Character.valueOf('\uc016')); + charS.add(Character.valueOf('\uc017')); + charS.add(Character.valueOf('\uc018')); + charS.add(Character.valueOf('\uc019')); + charS.add(Character.valueOf('\uc01a')); + charS.add(Character.valueOf('\uc01b')); + charS.add(Character.valueOf('\uc01c')); + charS.add(Character.valueOf('\uc01d')); + charS.add(Character.valueOf('\uc01e')); + charS.add(Character.valueOf('\uc01f')); + charS.add(Character.valueOf('\uc020')); + charS.add(Character.valueOf('\uc021')); + charS.add(Character.valueOf('\uc022')); + charS.add(Character.valueOf('\uc023')); + charS.add(Character.valueOf('\uc024')); + charS.add(Character.valueOf('\uc025')); + charS.add(Character.valueOf('\uc026')); + charS.add(Character.valueOf('\uc027')); + charS.add(Character.valueOf('\uc028')); + charS.add(Character.valueOf('\uc029')); + charS.add(Character.valueOf('\uc02a')); + charS.add(Character.valueOf('\uc02b')); + charS.add(Character.valueOf('\uc02c')); + charS.add(Character.valueOf('\uc02d')); + charS.add(Character.valueOf('\uc02e')); + charS.add(Character.valueOf('\uc02f')); + charS.add(Character.valueOf('\uc030')); + charS.add(Character.valueOf('\uc031')); + charS.add(Character.valueOf('\uc032')); + charS.add(Character.valueOf('\uc033')); + charS.add(Character.valueOf('\uc034')); + charS.add(Character.valueOf('\uc035')); + charS.add(Character.valueOf('\uc036')); + charS.add(Character.valueOf('\uc037')); + charS.add(Character.valueOf('\uc038')); + charS.add(Character.valueOf('\uc039')); + charS.add(Character.valueOf('\uc03a')); + charS.add(Character.valueOf('\uc03b')); + charS.add(Character.valueOf('\uc03c')); + charS.add(Character.valueOf('\uc03d')); + charS.add(Character.valueOf('\uc03e')); + charS.add(Character.valueOf('\uc03f')); + charS.add(Character.valueOf('\uc040')); + charS.add(Character.valueOf('\uc041')); + charS.add(Character.valueOf('\uc042')); + charS.add(Character.valueOf('\uc043')); + charS.add(Character.valueOf('\uc044')); + charS.add(Character.valueOf('\uc045')); + charS.add(Character.valueOf('\uc046')); + charS.add(Character.valueOf('\uc047')); + charS.add(Character.valueOf('\uc048')); + charS.add(Character.valueOf('\uc049')); + charS.add(Character.valueOf('\uc04a')); + charS.add(Character.valueOf('\uc04b')); + charS.add(Character.valueOf('\uc04c')); + charS.add(Character.valueOf('\uc04d')); + charS.add(Character.valueOf('\uc04e')); + charS.add(Character.valueOf('\uc04f')); + charS.add(Character.valueOf('\uc050')); + charS.add(Character.valueOf('\uc051')); + charS.add(Character.valueOf('\uc052')); + charS.add(Character.valueOf('\uc053')); + charS.add(Character.valueOf('\uc054')); + charS.add(Character.valueOf('\uc055')); + charS.add(Character.valueOf('\uc056')); + charS.add(Character.valueOf('\uc057')); + charS.add(Character.valueOf('\uc058')); + charS.add(Character.valueOf('\uc059')); + charS.add(Character.valueOf('\uc05a')); + charS.add(Character.valueOf('\uc05b')); + charS.add(Character.valueOf('\uc05c')); + charS.add(Character.valueOf('\uc05d')); + charS.add(Character.valueOf('\uc05e')); + charS.add(Character.valueOf('\uc05f')); + charS.add(Character.valueOf('\uc060')); + charS.add(Character.valueOf('\uc061')); + charS.add(Character.valueOf('\uc062')); + charS.add(Character.valueOf('\uc063')); + charS.add(Character.valueOf('\uc064')); + charS.add(Character.valueOf('\uc065')); + charS.add(Character.valueOf('\uc066')); + charS.add(Character.valueOf('\uc067')); + charS.add(Character.valueOf('\uc068')); + charS.add(Character.valueOf('\uc069')); + charS.add(Character.valueOf('\uc06a')); + charS.add(Character.valueOf('\uc06b')); + charS.add(Character.valueOf('\uc06c')); + charS.add(Character.valueOf('\uc06d')); + charS.add(Character.valueOf('\uc06e')); + charS.add(Character.valueOf('\uc06f')); + charS.add(Character.valueOf('\uc070')); + charS.add(Character.valueOf('\uc071')); + charS.add(Character.valueOf('\uc072')); + charS.add(Character.valueOf('\uc073')); + charS.add(Character.valueOf('\uc074')); + charS.add(Character.valueOf('\uc075')); + charS.add(Character.valueOf('\uc076')); + charS.add(Character.valueOf('\uc077')); + charS.add(Character.valueOf('\uc078')); + charS.add(Character.valueOf('\uc079')); + charS.add(Character.valueOf('\uc07a')); + charS.add(Character.valueOf('\uc07b')); + charS.add(Character.valueOf('\uc07c')); + charS.add(Character.valueOf('\uc07d')); + charS.add(Character.valueOf('\uc07e')); + charS.add(Character.valueOf('\uc07f')); + charS.add(Character.valueOf('\uc080')); + charS.add(Character.valueOf('\uc081')); + charS.add(Character.valueOf('\uc082')); + charS.add(Character.valueOf('\uc083')); + charS.add(Character.valueOf('\uc084')); + charS.add(Character.valueOf('\uc085')); + charS.add(Character.valueOf('\uc086')); + charS.add(Character.valueOf('\uc087')); + charS.add(Character.valueOf('\uc088')); + charS.add(Character.valueOf('\uc089')); + charS.add(Character.valueOf('\uc08a')); + charS.add(Character.valueOf('\uc08b')); + charS.add(Character.valueOf('\uc08c')); + charS.add(Character.valueOf('\uc08d')); + charS.add(Character.valueOf('\uc08e')); + charS.add(Character.valueOf('\uc08f')); + charS.add(Character.valueOf('\uc090')); + charS.add(Character.valueOf('\uc091')); + charS.add(Character.valueOf('\uc092')); + charS.add(Character.valueOf('\uc093')); + charS.add(Character.valueOf('\uc094')); + charS.add(Character.valueOf('\uc095')); + charS.add(Character.valueOf('\uc096')); + charS.add(Character.valueOf('\uc097')); + charS.add(Character.valueOf('\uc098')); + charS.add(Character.valueOf('\uc099')); + charS.add(Character.valueOf('\uc09a')); + charS.add(Character.valueOf('\uc09b')); + charS.add(Character.valueOf('\uc09c')); + charS.add(Character.valueOf('\uc09d')); + charS.add(Character.valueOf('\uc09e')); + charS.add(Character.valueOf('\uc09f')); + charS.add(Character.valueOf('\uc0a0')); + charS.add(Character.valueOf('\uc0a1')); + charS.add(Character.valueOf('\uc0a2')); + charS.add(Character.valueOf('\uc0a3')); + charS.add(Character.valueOf('\uc0a4')); + charS.add(Character.valueOf('\uc0a5')); + charS.add(Character.valueOf('\uc0a6')); + charS.add(Character.valueOf('\uc0a7')); + charS.add(Character.valueOf('\uc0a8')); + charS.add(Character.valueOf('\uc0a9')); + charS.add(Character.valueOf('\uc0aa')); + charS.add(Character.valueOf('\uc0ab')); + charS.add(Character.valueOf('\uc0ac')); + charS.add(Character.valueOf('\uc0ad')); + charS.add(Character.valueOf('\uc0ae')); + charS.add(Character.valueOf('\uc0af')); + charS.add(Character.valueOf('\uc0b0')); + charS.add(Character.valueOf('\uc0b1')); + charS.add(Character.valueOf('\uc0b2')); + charS.add(Character.valueOf('\uc0b3')); + charS.add(Character.valueOf('\uc0b4')); + charS.add(Character.valueOf('\uc0b5')); + charS.add(Character.valueOf('\uc0b6')); + charS.add(Character.valueOf('\uc0b7')); + charS.add(Character.valueOf('\uc0b8')); + charS.add(Character.valueOf('\uc0b9')); + charS.add(Character.valueOf('\uc0ba')); + charS.add(Character.valueOf('\uc0bb')); + charS.add(Character.valueOf('\uc0bc')); + charS.add(Character.valueOf('\uc03d')); + charS.add(Character.valueOf('\uc0be')); + charS.add(Character.valueOf('\uc0bf')); + charS.add(Character.valueOf('\uc0c0')); + charS.add(Character.valueOf('\uc0c1')); + charS.add(Character.valueOf('\uc0c2')); + charS.add(Character.valueOf('\uc0c3')); + charS.add(Character.valueOf('\uc0c4')); + charS.add(Character.valueOf('\uc0c5')); + charS.add(Character.valueOf('\uc0c6')); + charS.add(Character.valueOf('\uc0c7')); + charS.add(Character.valueOf('\uc0c8')); + charS.add(Character.valueOf('\uc0c9')); + charS.add(Character.valueOf('\uc0ca')); + charS.add(Character.valueOf('\uc0cb')); + charS.add(Character.valueOf('\uc0cc')); + charS.add(Character.valueOf('\uc0cd')); + charS.add(Character.valueOf('\uc0ce')); + charS.add(Character.valueOf('\uc0cf')); + charS.add(Character.valueOf('\uc0d0')); + charS.add(Character.valueOf('\uc0d1')); + charS.add(Character.valueOf('\uc0d2')); + charS.add(Character.valueOf('\uc0d3')); + charS.add(Character.valueOf('\uc0d4')); + charS.add(Character.valueOf('\uc0d5')); + charS.add(Character.valueOf('\uc0d6')); + charS.add(Character.valueOf('\uc0d7')); + charS.add(Character.valueOf('\uc0d8')); + charS.add(Character.valueOf('\uc0d9')); + charS.add(Character.valueOf('\uc0da')); + charS.add(Character.valueOf('\uc0db')); + charS.add(Character.valueOf('\uc0dc')); + charS.add(Character.valueOf('\uc0dd')); + charS.add(Character.valueOf('\uc0de')); + charS.add(Character.valueOf('\uc0df')); + charS.add(Character.valueOf('\uc0e0')); + charS.add(Character.valueOf('\uc0e1')); + charS.add(Character.valueOf('\uc0e2')); + charS.add(Character.valueOf('\uc0e3')); + charS.add(Character.valueOf('\uc0e4')); + charS.add(Character.valueOf('\uc0e5')); + charS.add(Character.valueOf('\uc0e6')); + charS.add(Character.valueOf('\uc0e7')); + charS.add(Character.valueOf('\uc0e8')); + charS.add(Character.valueOf('\uc0e9')); + charS.add(Character.valueOf('\uc0ea')); + charS.add(Character.valueOf('\uc0eb')); + charS.add(Character.valueOf('\uc0ec')); + charS.add(Character.valueOf('\uc0ed')); + charS.add(Character.valueOf('\uc0ee')); + charS.add(Character.valueOf('\uc0ef')); + charS.add(Character.valueOf('\uc0f0')); + charS.add(Character.valueOf('\uc0f1')); + charS.add(Character.valueOf('\uc0f2')); + charS.add(Character.valueOf('\uc0f3')); + charS.add(Character.valueOf('\uc0f4')); + charS.add(Character.valueOf('\uc0f5')); + charS.add(Character.valueOf('\uc0f6')); + charS.add(Character.valueOf('\uc0f7')); + charS.add(Character.valueOf('\uc0f8')); + charS.add(Character.valueOf('\uc0f9')); + charS.add(Character.valueOf('\uc0fa')); + charS.add(Character.valueOf('\uc0fb')); + charS.add(Character.valueOf('\uc0fc')); + charS.add(Character.valueOf('\uc0fd')); + charS.add(Character.valueOf('\uc0fe')); + charS.add(Character.valueOf('\uc0ff')); + charS.add(Character.valueOf('\uc0e8')); + charS.add(Character.valueOf('\uc0e9')); + charS.add(Character.valueOf('\uc0ea')); + charS.add(Character.valueOf('\uc0eb')); + charS.add(Character.valueOf('\uc0ec')); + charS.add(Character.valueOf('\uc0ed')); + charS.add(Character.valueOf('\uc0ee')); + charS.add(Character.valueOf('\uc0ef')); + charS.add(Character.valueOf('\uc0f0')); + charS.add(Character.valueOf('\uc0f1')); + charS.add(Character.valueOf('\uc0f2')); + charS.add(Character.valueOf('\uc0f3')); + charS.add(Character.valueOf('\uc0f4')); + charS.add(Character.valueOf('\uc0f5')); + charS.add(Character.valueOf('\uc0f6')); + charS.add(Character.valueOf('\uc0f7')); + charS.add(Character.valueOf('\uc0f8')); + charS.add(Character.valueOf('\uc0f9')); + charS.add(Character.valueOf('\uc0fa')); + charS.add(Character.valueOf('\uc0fb')); + charS.add(Character.valueOf('\uc0fc')); + charS.add(Character.valueOf('\uc0fd')); + charS.add(Character.valueOf('\uc0fe')); + charS.add(Character.valueOf('\uc0ff')); + charS.add(Character.valueOf('\uc100')); + charS.add(Character.valueOf('\uc101')); + charS.add(Character.valueOf('\uc102')); + charS.add(Character.valueOf('\uc103')); + charS.add(Character.valueOf('\uc104')); + charS.add(Character.valueOf('\uc105')); + charS.add(Character.valueOf('\uc106')); + charS.add(Character.valueOf('\uc107')); + charS.add(Character.valueOf('\uc108')); + charS.add(Character.valueOf('\uc109')); + charS.add(Character.valueOf('\uc10a')); + charS.add(Character.valueOf('\uc10b')); + charS.add(Character.valueOf('\uc10c')); + charS.add(Character.valueOf('\uc10d')); + charS.add(Character.valueOf('\uc10e')); + charS.add(Character.valueOf('\uc10f')); + charS.add(Character.valueOf('\uc110')); + charS.add(Character.valueOf('\uc111')); + charS.add(Character.valueOf('\uc112')); + charS.add(Character.valueOf('\uc113')); + charS.add(Character.valueOf('\uc114')); + charS.add(Character.valueOf('\uc115')); + charS.add(Character.valueOf('\uc116')); + charS.add(Character.valueOf('\uc117')); + charS.add(Character.valueOf('\uc118')); + charS.add(Character.valueOf('\uc119')); + charS.add(Character.valueOf('\uc11a')); + charS.add(Character.valueOf('\uc11b')); + charS.add(Character.valueOf('\uc11c')); + charS.add(Character.valueOf('\uc11d')); + charS.add(Character.valueOf('\uc11e')); + charS.add(Character.valueOf('\uc11f')); + charS.add(Character.valueOf('\uc120')); + charS.add(Character.valueOf('\uc121')); + charS.add(Character.valueOf('\uc122')); + charS.add(Character.valueOf('\uc123')); + charS.add(Character.valueOf('\uc124')); + charS.add(Character.valueOf('\uc125')); + charS.add(Character.valueOf('\uc126')); + charS.add(Character.valueOf('\uc127')); + charS.add(Character.valueOf('\uc128')); + charS.add(Character.valueOf('\uc129')); + charS.add(Character.valueOf('\uc12a')); + charS.add(Character.valueOf('\uc12b')); + charS.add(Character.valueOf('\uc12c')); + charS.add(Character.valueOf('\uc12d')); + charS.add(Character.valueOf('\uc12e')); + charS.add(Character.valueOf('\uc12f')); + charS.add(Character.valueOf('\uc130')); + charS.add(Character.valueOf('\uc131')); + charS.add(Character.valueOf('\uc132')); + charS.add(Character.valueOf('\uc133')); + charS.add(Character.valueOf('\uc134')); + charS.add(Character.valueOf('\uc135')); + charS.add(Character.valueOf('\uc136')); + charS.add(Character.valueOf('\uc137')); + charS.add(Character.valueOf('\uc138')); + charS.add(Character.valueOf('\uc139')); + charS.add(Character.valueOf('\uc13a')); + charS.add(Character.valueOf('\uc13b')); + charS.add(Character.valueOf('\uc13c')); + charS.add(Character.valueOf('\uc13d')); + charS.add(Character.valueOf('\uc13e')); + charS.add(Character.valueOf('\uc13f')); + charS.add(Character.valueOf('\uc140')); + charS.add(Character.valueOf('\uc141')); + charS.add(Character.valueOf('\uc142')); + charS.add(Character.valueOf('\uc143')); + charS.add(Character.valueOf('\uc144')); + charS.add(Character.valueOf('\uc145')); + charS.add(Character.valueOf('\uc146')); + charS.add(Character.valueOf('\uc147')); + charS.add(Character.valueOf('\uc148')); + charS.add(Character.valueOf('\uc149')); + charS.add(Character.valueOf('\uc14a')); + charS.add(Character.valueOf('\uc14b')); + charS.add(Character.valueOf('\uc14c')); + charS.add(Character.valueOf('\uc14d')); + charS.add(Character.valueOf('\uc14e')); + charS.add(Character.valueOf('\uc14f')); + charS.add(Character.valueOf('\uc150')); + charS.add(Character.valueOf('\uc151')); + charS.add(Character.valueOf('\uc152')); + charS.add(Character.valueOf('\uc153')); + charS.add(Character.valueOf('\uc154')); + charS.add(Character.valueOf('\uc155')); + charS.add(Character.valueOf('\uc156')); + charS.add(Character.valueOf('\uc157')); + charS.add(Character.valueOf('\uc158')); + charS.add(Character.valueOf('\uc159')); + charS.add(Character.valueOf('\uc15a')); + charS.add(Character.valueOf('\uc15b')); + charS.add(Character.valueOf('\uc15c')); + charS.add(Character.valueOf('\uc15d')); + charS.add(Character.valueOf('\uc15e')); + charS.add(Character.valueOf('\uc15f')); + charS.add(Character.valueOf('\uc160')); + charS.add(Character.valueOf('\uc161')); + charS.add(Character.valueOf('\uc162')); + charS.add(Character.valueOf('\uc163')); + charS.add(Character.valueOf('\uc164')); + charS.add(Character.valueOf('\uc165')); + charS.add(Character.valueOf('\uc166')); + charS.add(Character.valueOf('\uc167')); + charS.add(Character.valueOf('\uc168')); + charS.add(Character.valueOf('\uc169')); + charS.add(Character.valueOf('\uc16a')); + charS.add(Character.valueOf('\uc16b')); + charS.add(Character.valueOf('\uc16c')); + charS.add(Character.valueOf('\uc16d')); + charS.add(Character.valueOf('\uc16e')); + charS.add(Character.valueOf('\uc16f')); + charS.add(Character.valueOf('\uc170')); + charS.add(Character.valueOf('\uc171')); + charS.add(Character.valueOf('\uc172')); + charS.add(Character.valueOf('\uc173')); + charS.add(Character.valueOf('\uc174')); + charS.add(Character.valueOf('\uc175')); + charS.add(Character.valueOf('\uc176')); + charS.add(Character.valueOf('\uc177')); + charS.add(Character.valueOf('\uc178')); + charS.add(Character.valueOf('\uc179')); + charS.add(Character.valueOf('\uc17a')); + charS.add(Character.valueOf('\uc17b')); + charS.add(Character.valueOf('\uc17c')); + charS.add(Character.valueOf('\uc17d')); + charS.add(Character.valueOf('\uc17e')); + charS.add(Character.valueOf('\uc17f')); + charS.add(Character.valueOf('\uc180')); + charS.add(Character.valueOf('\uc181')); + charS.add(Character.valueOf('\uc182')); + charS.add(Character.valueOf('\uc183')); + charS.add(Character.valueOf('\uc184')); + charS.add(Character.valueOf('\uc185')); + charS.add(Character.valueOf('\uc186')); + charS.add(Character.valueOf('\uc187')); + charS.add(Character.valueOf('\uc188')); + charS.add(Character.valueOf('\uc189')); + charS.add(Character.valueOf('\uc18a')); + charS.add(Character.valueOf('\uc18b')); + charS.add(Character.valueOf('\uc18c')); + charS.add(Character.valueOf('\uc18d')); + charS.add(Character.valueOf('\uc18e')); + charS.add(Character.valueOf('\uc18f')); + charS.add(Character.valueOf('\uc190')); + charS.add(Character.valueOf('\uc191')); + charS.add(Character.valueOf('\uc192')); + charS.add(Character.valueOf('\uc193')); + charS.add(Character.valueOf('\uc194')); + charS.add(Character.valueOf('\uc195')); + charS.add(Character.valueOf('\uc196')); + charS.add(Character.valueOf('\uc197')); + charS.add(Character.valueOf('\uc198')); + charS.add(Character.valueOf('\uc199')); + charS.add(Character.valueOf('\uc19a')); + charS.add(Character.valueOf('\uc19b')); + charS.add(Character.valueOf('\uc19c')); + charS.add(Character.valueOf('\uc19d')); + charS.add(Character.valueOf('\uc19e')); + charS.add(Character.valueOf('\uc19f')); + charS.add(Character.valueOf('\uc1a0')); + charS.add(Character.valueOf('\uc1a1')); + charS.add(Character.valueOf('\uc1a2')); + charS.add(Character.valueOf('\uc1a3')); + charS.add(Character.valueOf('\uc1a4')); + charS.add(Character.valueOf('\uc1a5')); + charS.add(Character.valueOf('\uc1a6')); + charS.add(Character.valueOf('\uc1a7')); + charS.add(Character.valueOf('\uc1a8')); + charS.add(Character.valueOf('\uc1a9')); + charS.add(Character.valueOf('\uc1aa')); + charS.add(Character.valueOf('\uc1ab')); + charS.add(Character.valueOf('\uc1ac')); + charS.add(Character.valueOf('\uc1ad')); + charS.add(Character.valueOf('\uc1ae')); + charS.add(Character.valueOf('\uc1af')); + charS.add(Character.valueOf('\uc1b0')); + charS.add(Character.valueOf('\uc1b1')); + charS.add(Character.valueOf('\uc1b2')); + charS.add(Character.valueOf('\uc1b3')); + charS.add(Character.valueOf('\uc1b4')); + charS.add(Character.valueOf('\uc1b5')); + charS.add(Character.valueOf('\uc1b6')); + charS.add(Character.valueOf('\uc1b7')); + charS.add(Character.valueOf('\uc1b8')); + charS.add(Character.valueOf('\uc1b9')); + charS.add(Character.valueOf('\uc1ba')); + charS.add(Character.valueOf('\uc1bb')); + charS.add(Character.valueOf('\uc1bc')); + charS.add(Character.valueOf('\uc13d')); + charS.add(Character.valueOf('\uc1be')); + charS.add(Character.valueOf('\uc1bf')); + charS.add(Character.valueOf('\uc1c0')); + charS.add(Character.valueOf('\uc1c1')); + charS.add(Character.valueOf('\uc1c2')); + charS.add(Character.valueOf('\uc1c3')); + charS.add(Character.valueOf('\uc1c4')); + charS.add(Character.valueOf('\uc1c5')); + charS.add(Character.valueOf('\uc1c6')); + charS.add(Character.valueOf('\uc1c7')); + charS.add(Character.valueOf('\uc1c8')); + charS.add(Character.valueOf('\uc1c9')); + charS.add(Character.valueOf('\uc1ca')); + charS.add(Character.valueOf('\uc1cb')); + charS.add(Character.valueOf('\uc1cc')); + charS.add(Character.valueOf('\uc1cd')); + charS.add(Character.valueOf('\uc1ce')); + charS.add(Character.valueOf('\uc1cf')); + charS.add(Character.valueOf('\uc1d0')); + charS.add(Character.valueOf('\uc1d1')); + charS.add(Character.valueOf('\uc1d2')); + charS.add(Character.valueOf('\uc1d3')); + charS.add(Character.valueOf('\uc1d4')); + charS.add(Character.valueOf('\uc1d5')); + charS.add(Character.valueOf('\uc1d6')); + charS.add(Character.valueOf('\uc1d7')); + charS.add(Character.valueOf('\uc1d8')); + charS.add(Character.valueOf('\uc1d9')); + charS.add(Character.valueOf('\uc1da')); + charS.add(Character.valueOf('\uc1db')); + charS.add(Character.valueOf('\uc1dc')); + charS.add(Character.valueOf('\uc1dd')); + charS.add(Character.valueOf('\uc1de')); + charS.add(Character.valueOf('\uc1df')); + charS.add(Character.valueOf('\uc1e0')); + charS.add(Character.valueOf('\uc1e1')); + charS.add(Character.valueOf('\uc1e2')); + charS.add(Character.valueOf('\uc1e3')); + charS.add(Character.valueOf('\uc1e4')); + charS.add(Character.valueOf('\uc1e5')); + charS.add(Character.valueOf('\uc1e6')); + charS.add(Character.valueOf('\uc1e7')); + charS.add(Character.valueOf('\uc1e8')); + charS.add(Character.valueOf('\uc1e9')); + charS.add(Character.valueOf('\uc1ea')); + charS.add(Character.valueOf('\uc1eb')); + charS.add(Character.valueOf('\uc1ec')); + charS.add(Character.valueOf('\uc1ed')); + charS.add(Character.valueOf('\uc1ee')); + charS.add(Character.valueOf('\uc1ef')); + charS.add(Character.valueOf('\uc1f0')); + charS.add(Character.valueOf('\uc1f1')); + charS.add(Character.valueOf('\uc1f2')); + charS.add(Character.valueOf('\uc1f3')); + charS.add(Character.valueOf('\uc1f4')); + charS.add(Character.valueOf('\uc1f5')); + charS.add(Character.valueOf('\uc1f6')); + charS.add(Character.valueOf('\uc1f7')); + charS.add(Character.valueOf('\uc1f8')); + charS.add(Character.valueOf('\uc1f9')); + charS.add(Character.valueOf('\uc1fa')); + charS.add(Character.valueOf('\uc1fb')); + charS.add(Character.valueOf('\uc1fc')); + charS.add(Character.valueOf('\uc1fd')); + charS.add(Character.valueOf('\uc1fe')); + charS.add(Character.valueOf('\uc1ff')); + charS.add(Character.valueOf('\uc200')); + charS.add(Character.valueOf('\uc201')); + charS.add(Character.valueOf('\uc202')); + charS.add(Character.valueOf('\uc203')); + charS.add(Character.valueOf('\uc204')); + charS.add(Character.valueOf('\uc205')); + charS.add(Character.valueOf('\uc206')); + charS.add(Character.valueOf('\uc207')); + charS.add(Character.valueOf('\uc208')); + charS.add(Character.valueOf('\uc209')); + charS.add(Character.valueOf('\uc20a')); + charS.add(Character.valueOf('\uc20b')); + charS.add(Character.valueOf('\uc20c')); + charS.add(Character.valueOf('\uc20d')); + charS.add(Character.valueOf('\uc20e')); + charS.add(Character.valueOf('\uc20f')); + charS.add(Character.valueOf('\uc210')); + charS.add(Character.valueOf('\uc211')); + charS.add(Character.valueOf('\uc212')); + charS.add(Character.valueOf('\uc213')); + charS.add(Character.valueOf('\uc214')); + charS.add(Character.valueOf('\uc215')); + charS.add(Character.valueOf('\uc216')); + charS.add(Character.valueOf('\uc217')); + charS.add(Character.valueOf('\uc218')); + charS.add(Character.valueOf('\uc219')); + charS.add(Character.valueOf('\uc21a')); + charS.add(Character.valueOf('\uc21b')); + charS.add(Character.valueOf('\uc21c')); + charS.add(Character.valueOf('\uc21d')); + charS.add(Character.valueOf('\uc21e')); + charS.add(Character.valueOf('\uc21f')); + charS.add(Character.valueOf('\uc220')); + charS.add(Character.valueOf('\uc221')); + charS.add(Character.valueOf('\uc222')); + charS.add(Character.valueOf('\uc223')); + charS.add(Character.valueOf('\uc224')); + charS.add(Character.valueOf('\uc225')); + charS.add(Character.valueOf('\uc226')); + charS.add(Character.valueOf('\uc227')); + charS.add(Character.valueOf('\uc228')); + charS.add(Character.valueOf('\uc229')); + charS.add(Character.valueOf('\uc22a')); + charS.add(Character.valueOf('\uc22b')); + charS.add(Character.valueOf('\uc22c')); + charS.add(Character.valueOf('\uc22d')); + charS.add(Character.valueOf('\uc22e')); + charS.add(Character.valueOf('\uc22f')); + charS.add(Character.valueOf('\uc230')); + charS.add(Character.valueOf('\uc231')); + charS.add(Character.valueOf('\uc232')); + charS.add(Character.valueOf('\uc233')); + charS.add(Character.valueOf('\uc234')); + charS.add(Character.valueOf('\uc235')); + charS.add(Character.valueOf('\uc236')); + charS.add(Character.valueOf('\uc237')); + charS.add(Character.valueOf('\uc238')); + charS.add(Character.valueOf('\uc239')); + charS.add(Character.valueOf('\uc23a')); + charS.add(Character.valueOf('\uc23b')); + charS.add(Character.valueOf('\uc23c')); + charS.add(Character.valueOf('\uc23d')); + charS.add(Character.valueOf('\uc23e')); + charS.add(Character.valueOf('\uc23f')); + charS.add(Character.valueOf('\uc240')); + charS.add(Character.valueOf('\uc241')); + charS.add(Character.valueOf('\uc242')); + charS.add(Character.valueOf('\uc243')); + charS.add(Character.valueOf('\uc244')); + charS.add(Character.valueOf('\uc245')); + charS.add(Character.valueOf('\uc246')); + charS.add(Character.valueOf('\uc247')); + charS.add(Character.valueOf('\uc248')); + charS.add(Character.valueOf('\uc249')); + charS.add(Character.valueOf('\uc24a')); + charS.add(Character.valueOf('\uc24b')); + charS.add(Character.valueOf('\uc24c')); + charS.add(Character.valueOf('\uc24d')); + charS.add(Character.valueOf('\uc24e')); + charS.add(Character.valueOf('\uc24f')); + charS.add(Character.valueOf('\uc250')); + charS.add(Character.valueOf('\uc251')); + charS.add(Character.valueOf('\uc252')); + charS.add(Character.valueOf('\uc253')); + charS.add(Character.valueOf('\uc254')); + charS.add(Character.valueOf('\uc255')); + charS.add(Character.valueOf('\uc256')); + charS.add(Character.valueOf('\uc257')); + charS.add(Character.valueOf('\uc258')); + charS.add(Character.valueOf('\uc259')); + charS.add(Character.valueOf('\uc25a')); + charS.add(Character.valueOf('\uc25b')); + charS.add(Character.valueOf('\uc25c')); + charS.add(Character.valueOf('\uc25d')); + charS.add(Character.valueOf('\uc25e')); + charS.add(Character.valueOf('\uc25f')); + charS.add(Character.valueOf('\uc260')); + charS.add(Character.valueOf('\uc261')); + charS.add(Character.valueOf('\uc262')); + charS.add(Character.valueOf('\uc263')); + charS.add(Character.valueOf('\uc264')); + charS.add(Character.valueOf('\uc265')); + charS.add(Character.valueOf('\uc266')); + charS.add(Character.valueOf('\uc267')); + charS.add(Character.valueOf('\uc268')); + charS.add(Character.valueOf('\uc269')); + charS.add(Character.valueOf('\uc26a')); + charS.add(Character.valueOf('\uc26b')); + charS.add(Character.valueOf('\uc26c')); + charS.add(Character.valueOf('\uc26d')); + charS.add(Character.valueOf('\uc26e')); + charS.add(Character.valueOf('\uc26f')); + charS.add(Character.valueOf('\uc270')); + charS.add(Character.valueOf('\uc271')); + charS.add(Character.valueOf('\uc272')); + charS.add(Character.valueOf('\uc273')); + charS.add(Character.valueOf('\uc274')); + charS.add(Character.valueOf('\uc275')); + charS.add(Character.valueOf('\uc276')); + charS.add(Character.valueOf('\uc277')); + charS.add(Character.valueOf('\uc278')); + charS.add(Character.valueOf('\uc279')); + charS.add(Character.valueOf('\uc27a')); + charS.add(Character.valueOf('\uc27b')); + charS.add(Character.valueOf('\uc27c')); + charS.add(Character.valueOf('\uc27d')); + charS.add(Character.valueOf('\uc27e')); + charS.add(Character.valueOf('\uc27f')); + charS.add(Character.valueOf('\uc280')); + charS.add(Character.valueOf('\uc281')); + charS.add(Character.valueOf('\uc282')); + charS.add(Character.valueOf('\uc283')); + charS.add(Character.valueOf('\uc284')); + charS.add(Character.valueOf('\uc285')); + charS.add(Character.valueOf('\uc286')); + charS.add(Character.valueOf('\uc287')); + charS.add(Character.valueOf('\uc288')); + charS.add(Character.valueOf('\uc289')); + charS.add(Character.valueOf('\uc28a')); + charS.add(Character.valueOf('\uc28b')); + charS.add(Character.valueOf('\uc28c')); + charS.add(Character.valueOf('\uc28d')); + charS.add(Character.valueOf('\uc28e')); + charS.add(Character.valueOf('\uc28f')); + charS.add(Character.valueOf('\uc290')); + charS.add(Character.valueOf('\uc291')); + charS.add(Character.valueOf('\uc292')); + charS.add(Character.valueOf('\uc293')); + charS.add(Character.valueOf('\uc294')); + charS.add(Character.valueOf('\uc295')); + charS.add(Character.valueOf('\uc296')); + charS.add(Character.valueOf('\uc297')); + charS.add(Character.valueOf('\uc298')); + charS.add(Character.valueOf('\uc299')); + charS.add(Character.valueOf('\uc29a')); + charS.add(Character.valueOf('\uc29b')); + charS.add(Character.valueOf('\uc29c')); + charS.add(Character.valueOf('\uc29d')); + charS.add(Character.valueOf('\uc29e')); + charS.add(Character.valueOf('\uc29f')); + charS.add(Character.valueOf('\uc2a0')); + charS.add(Character.valueOf('\uc2a1')); + charS.add(Character.valueOf('\uc2a2')); + charS.add(Character.valueOf('\uc2a3')); + charS.add(Character.valueOf('\uc2a4')); + charS.add(Character.valueOf('\uc2a5')); + charS.add(Character.valueOf('\uc2a6')); + charS.add(Character.valueOf('\uc2a7')); + charS.add(Character.valueOf('\uc2a8')); + charS.add(Character.valueOf('\uc2a9')); + charS.add(Character.valueOf('\uc2aa')); + charS.add(Character.valueOf('\uc2ab')); + charS.add(Character.valueOf('\uc2ac')); + charS.add(Character.valueOf('\uc2ad')); + charS.add(Character.valueOf('\uc2ae')); + charS.add(Character.valueOf('\uc2af')); + charS.add(Character.valueOf('\uc2b0')); + charS.add(Character.valueOf('\uc2b1')); + charS.add(Character.valueOf('\uc2b2')); + charS.add(Character.valueOf('\uc2b3')); + charS.add(Character.valueOf('\uc2b4')); + charS.add(Character.valueOf('\uc2b5')); + charS.add(Character.valueOf('\uc2b6')); + charS.add(Character.valueOf('\uc2b7')); + charS.add(Character.valueOf('\uc2b8')); + charS.add(Character.valueOf('\uc2b9')); + charS.add(Character.valueOf('\uc2ba')); + charS.add(Character.valueOf('\uc2bb')); + charS.add(Character.valueOf('\uc2bc')); + charS.add(Character.valueOf('\uc23d')); + charS.add(Character.valueOf('\uc2be')); + charS.add(Character.valueOf('\uc2bf')); + charS.add(Character.valueOf('\uc2c0')); + charS.add(Character.valueOf('\uc2c1')); + charS.add(Character.valueOf('\uc2c2')); + charS.add(Character.valueOf('\uc2c3')); + charS.add(Character.valueOf('\uc2c4')); + charS.add(Character.valueOf('\uc2c5')); + charS.add(Character.valueOf('\uc2c6')); + charS.add(Character.valueOf('\uc2c7')); + charS.add(Character.valueOf('\uc2c8')); + charS.add(Character.valueOf('\uc2c9')); + charS.add(Character.valueOf('\uc2ca')); + charS.add(Character.valueOf('\uc2cb')); + charS.add(Character.valueOf('\uc2cc')); + charS.add(Character.valueOf('\uc2cd')); + charS.add(Character.valueOf('\uc2ce')); + charS.add(Character.valueOf('\uc2cf')); + charS.add(Character.valueOf('\uc2d0')); + charS.add(Character.valueOf('\uc2d1')); + charS.add(Character.valueOf('\uc2d2')); + charS.add(Character.valueOf('\uc2d3')); + charS.add(Character.valueOf('\uc2d4')); + charS.add(Character.valueOf('\uc2d5')); + charS.add(Character.valueOf('\uc2d6')); + charS.add(Character.valueOf('\uc2d7')); + charS.add(Character.valueOf('\uc2d8')); + charS.add(Character.valueOf('\uc2d9')); + charS.add(Character.valueOf('\uc2da')); + charS.add(Character.valueOf('\uc2db')); + charS.add(Character.valueOf('\uc2dc')); + charS.add(Character.valueOf('\uc2dd')); + charS.add(Character.valueOf('\uc2de')); + charS.add(Character.valueOf('\uc2df')); + charS.add(Character.valueOf('\uc2e0')); + charS.add(Character.valueOf('\uc2e1')); + charS.add(Character.valueOf('\uc2e2')); + charS.add(Character.valueOf('\uc2e3')); + charS.add(Character.valueOf('\uc2e4')); + charS.add(Character.valueOf('\uc2e5')); + charS.add(Character.valueOf('\uc2e6')); + charS.add(Character.valueOf('\uc2e7')); + charS.add(Character.valueOf('\uc2e8')); + charS.add(Character.valueOf('\uc2e9')); + charS.add(Character.valueOf('\uc2ea')); + charS.add(Character.valueOf('\uc2eb')); + charS.add(Character.valueOf('\uc2ec')); + charS.add(Character.valueOf('\uc2ed')); + charS.add(Character.valueOf('\uc2ee')); + charS.add(Character.valueOf('\uc2ef')); + charS.add(Character.valueOf('\uc2f0')); + charS.add(Character.valueOf('\uc2f1')); + charS.add(Character.valueOf('\uc2f2')); + charS.add(Character.valueOf('\uc2f3')); + charS.add(Character.valueOf('\uc2f4')); + charS.add(Character.valueOf('\uc2f5')); + charS.add(Character.valueOf('\uc2f6')); + charS.add(Character.valueOf('\uc2f7')); + charS.add(Character.valueOf('\uc2f8')); + charS.add(Character.valueOf('\uc2f9')); + charS.add(Character.valueOf('\uc2fa')); + charS.add(Character.valueOf('\uc2fb')); + charS.add(Character.valueOf('\uc2fc')); + charS.add(Character.valueOf('\uc2fd')); + charS.add(Character.valueOf('\uc2fe')); + charS.add(Character.valueOf('\uc2ff')); + charS.add(Character.valueOf('\uc300')); + charS.add(Character.valueOf('\uc301')); + charS.add(Character.valueOf('\uc302')); + charS.add(Character.valueOf('\uc303')); + charS.add(Character.valueOf('\uc304')); + charS.add(Character.valueOf('\uc305')); + charS.add(Character.valueOf('\uc306')); + charS.add(Character.valueOf('\uc307')); + charS.add(Character.valueOf('\uc308')); + charS.add(Character.valueOf('\uc309')); + charS.add(Character.valueOf('\uc30a')); + charS.add(Character.valueOf('\uc30b')); + charS.add(Character.valueOf('\uc30c')); + charS.add(Character.valueOf('\uc30d')); + charS.add(Character.valueOf('\uc30e')); + charS.add(Character.valueOf('\uc30f')); + charS.add(Character.valueOf('\uc310')); + charS.add(Character.valueOf('\uc311')); + charS.add(Character.valueOf('\uc312')); + charS.add(Character.valueOf('\uc313')); + charS.add(Character.valueOf('\uc314')); + charS.add(Character.valueOf('\uc315')); + charS.add(Character.valueOf('\uc316')); + charS.add(Character.valueOf('\uc317')); + charS.add(Character.valueOf('\uc318')); + charS.add(Character.valueOf('\uc319')); + charS.add(Character.valueOf('\uc31a')); + charS.add(Character.valueOf('\uc31b')); + charS.add(Character.valueOf('\uc31c')); + charS.add(Character.valueOf('\uc31d')); + charS.add(Character.valueOf('\uc31e')); + charS.add(Character.valueOf('\uc31f')); + charS.add(Character.valueOf('\uc320')); + charS.add(Character.valueOf('\uc321')); + charS.add(Character.valueOf('\uc322')); + charS.add(Character.valueOf('\uc323')); + charS.add(Character.valueOf('\uc324')); + charS.add(Character.valueOf('\uc325')); + charS.add(Character.valueOf('\uc326')); + charS.add(Character.valueOf('\uc327')); + charS.add(Character.valueOf('\uc328')); + charS.add(Character.valueOf('\uc329')); + charS.add(Character.valueOf('\uc32a')); + charS.add(Character.valueOf('\uc32b')); + charS.add(Character.valueOf('\uc32c')); + charS.add(Character.valueOf('\uc32d')); + charS.add(Character.valueOf('\uc32e')); + charS.add(Character.valueOf('\uc32f')); + charS.add(Character.valueOf('\uc330')); + charS.add(Character.valueOf('\uc331')); + charS.add(Character.valueOf('\uc332')); + charS.add(Character.valueOf('\uc333')); + charS.add(Character.valueOf('\uc334')); + charS.add(Character.valueOf('\uc335')); + charS.add(Character.valueOf('\uc336')); + charS.add(Character.valueOf('\uc337')); + charS.add(Character.valueOf('\uc338')); + charS.add(Character.valueOf('\uc339')); + charS.add(Character.valueOf('\uc33a')); + charS.add(Character.valueOf('\uc33b')); + charS.add(Character.valueOf('\uc33c')); + charS.add(Character.valueOf('\uc33d')); + charS.add(Character.valueOf('\uc33e')); + charS.add(Character.valueOf('\uc33f')); + charS.add(Character.valueOf('\uc340')); + charS.add(Character.valueOf('\uc341')); + charS.add(Character.valueOf('\uc342')); + charS.add(Character.valueOf('\uc343')); + charS.add(Character.valueOf('\uc344')); + charS.add(Character.valueOf('\uc345')); + charS.add(Character.valueOf('\uc346')); + charS.add(Character.valueOf('\uc347')); + charS.add(Character.valueOf('\uc348')); + charS.add(Character.valueOf('\uc349')); + charS.add(Character.valueOf('\uc34a')); + charS.add(Character.valueOf('\uc34b')); + charS.add(Character.valueOf('\uc34c')); + charS.add(Character.valueOf('\uc34d')); + charS.add(Character.valueOf('\uc34e')); + charS.add(Character.valueOf('\uc34f')); + charS.add(Character.valueOf('\uc350')); + charS.add(Character.valueOf('\uc351')); + charS.add(Character.valueOf('\uc352')); + charS.add(Character.valueOf('\uc353')); + charS.add(Character.valueOf('\uc354')); + charS.add(Character.valueOf('\uc355')); + charS.add(Character.valueOf('\uc356')); + charS.add(Character.valueOf('\uc357')); + charS.add(Character.valueOf('\uc358')); + charS.add(Character.valueOf('\uc359')); + charS.add(Character.valueOf('\uc35a')); + charS.add(Character.valueOf('\uc35b')); + charS.add(Character.valueOf('\uc35c')); + charS.add(Character.valueOf('\uc35d')); + charS.add(Character.valueOf('\uc35e')); + charS.add(Character.valueOf('\uc35f')); + charS.add(Character.valueOf('\uc360')); + charS.add(Character.valueOf('\uc361')); + charS.add(Character.valueOf('\uc362')); + charS.add(Character.valueOf('\uc363')); + charS.add(Character.valueOf('\uc364')); + charS.add(Character.valueOf('\uc365')); + charS.add(Character.valueOf('\uc366')); + charS.add(Character.valueOf('\uc367')); + charS.add(Character.valueOf('\uc368')); + charS.add(Character.valueOf('\uc369')); + charS.add(Character.valueOf('\uc36a')); + charS.add(Character.valueOf('\uc36b')); + charS.add(Character.valueOf('\uc36c')); + charS.add(Character.valueOf('\uc36d')); + charS.add(Character.valueOf('\uc36e')); + charS.add(Character.valueOf('\uc36f')); + charS.add(Character.valueOf('\uc370')); + charS.add(Character.valueOf('\uc371')); + charS.add(Character.valueOf('\uc372')); + charS.add(Character.valueOf('\uc373')); + charS.add(Character.valueOf('\uc374')); + charS.add(Character.valueOf('\uc375')); + charS.add(Character.valueOf('\uc376')); + charS.add(Character.valueOf('\uc377')); + charS.add(Character.valueOf('\uc378')); + charS.add(Character.valueOf('\uc379')); + charS.add(Character.valueOf('\uc37a')); + charS.add(Character.valueOf('\uc37b')); + charS.add(Character.valueOf('\uc37c')); + charS.add(Character.valueOf('\uc37d')); + charS.add(Character.valueOf('\uc37e')); + charS.add(Character.valueOf('\uc37f')); + charS.add(Character.valueOf('\uc380')); + charS.add(Character.valueOf('\uc381')); + charS.add(Character.valueOf('\uc382')); + charS.add(Character.valueOf('\uc383')); + charS.add(Character.valueOf('\uc384')); + charS.add(Character.valueOf('\uc385')); + charS.add(Character.valueOf('\uc386')); + charS.add(Character.valueOf('\uc387')); + charS.add(Character.valueOf('\uc388')); + charS.add(Character.valueOf('\uc389')); + charS.add(Character.valueOf('\uc38a')); + charS.add(Character.valueOf('\uc38b')); + charS.add(Character.valueOf('\uc38c')); + charS.add(Character.valueOf('\uc38d')); + charS.add(Character.valueOf('\uc38e')); + charS.add(Character.valueOf('\uc38f')); + charS.add(Character.valueOf('\uc390')); + charS.add(Character.valueOf('\uc391')); + charS.add(Character.valueOf('\uc392')); + charS.add(Character.valueOf('\uc393')); + charS.add(Character.valueOf('\uc394')); + charS.add(Character.valueOf('\uc395')); + charS.add(Character.valueOf('\uc396')); + charS.add(Character.valueOf('\uc397')); + charS.add(Character.valueOf('\uc398')); + charS.add(Character.valueOf('\uc399')); + charS.add(Character.valueOf('\uc39a')); + charS.add(Character.valueOf('\uc39b')); + charS.add(Character.valueOf('\uc39c')); + charS.add(Character.valueOf('\uc39d')); + charS.add(Character.valueOf('\uc39e')); + charS.add(Character.valueOf('\uc39f')); + charS.add(Character.valueOf('\uc3a0')); + charS.add(Character.valueOf('\uc3a1')); + charS.add(Character.valueOf('\uc3a2')); + charS.add(Character.valueOf('\uc3a3')); + charS.add(Character.valueOf('\uc3a4')); + charS.add(Character.valueOf('\uc3a5')); + charS.add(Character.valueOf('\uc3a6')); + charS.add(Character.valueOf('\uc3a7')); + charS.add(Character.valueOf('\uc3a8')); + charS.add(Character.valueOf('\uc3a9')); + charS.add(Character.valueOf('\uc3aa')); + charS.add(Character.valueOf('\uc3ab')); + charS.add(Character.valueOf('\uc3ac')); + charS.add(Character.valueOf('\uc3ad')); + charS.add(Character.valueOf('\uc3ae')); + charS.add(Character.valueOf('\uc3af')); + charS.add(Character.valueOf('\uc3b0')); + charS.add(Character.valueOf('\uc3b1')); + charS.add(Character.valueOf('\uc3b2')); + charS.add(Character.valueOf('\uc3b3')); + charS.add(Character.valueOf('\uc3b4')); + charS.add(Character.valueOf('\uc3b5')); + charS.add(Character.valueOf('\uc3b6')); + charS.add(Character.valueOf('\uc3b7')); + charS.add(Character.valueOf('\uc3b8')); + charS.add(Character.valueOf('\uc3b9')); + charS.add(Character.valueOf('\uc3ba')); + charS.add(Character.valueOf('\uc3bb')); + charS.add(Character.valueOf('\uc3bc')); + charS.add(Character.valueOf('\uc33d')); + charS.add(Character.valueOf('\uc3be')); + charS.add(Character.valueOf('\uc3bf')); + charS.add(Character.valueOf('\uc3c0')); + charS.add(Character.valueOf('\uc3c1')); + charS.add(Character.valueOf('\uc3c2')); + charS.add(Character.valueOf('\uc3c3')); + charS.add(Character.valueOf('\uc3c4')); + charS.add(Character.valueOf('\uc3c5')); + charS.add(Character.valueOf('\uc3c6')); + charS.add(Character.valueOf('\uc3c7')); + charS.add(Character.valueOf('\uc3c8')); + charS.add(Character.valueOf('\uc3c9')); + charS.add(Character.valueOf('\uc3ca')); + charS.add(Character.valueOf('\uc3cb')); + charS.add(Character.valueOf('\uc3cc')); + charS.add(Character.valueOf('\uc3cd')); + charS.add(Character.valueOf('\uc3ce')); + charS.add(Character.valueOf('\uc3cf')); + charS.add(Character.valueOf('\uc3d0')); + charS.add(Character.valueOf('\uc3d1')); + charS.add(Character.valueOf('\uc3d2')); + charS.add(Character.valueOf('\uc3d3')); + charS.add(Character.valueOf('\uc3d4')); + charS.add(Character.valueOf('\uc3d5')); + charS.add(Character.valueOf('\uc3d6')); + charS.add(Character.valueOf('\uc3d7')); + charS.add(Character.valueOf('\uc3d8')); + charS.add(Character.valueOf('\uc3d9')); + charS.add(Character.valueOf('\uc3da')); + charS.add(Character.valueOf('\uc3db')); + charS.add(Character.valueOf('\uc3dc')); + charS.add(Character.valueOf('\uc3dd')); + charS.add(Character.valueOf('\uc3de')); + charS.add(Character.valueOf('\uc3df')); + charS.add(Character.valueOf('\uc3e0')); + charS.add(Character.valueOf('\uc3e1')); + charS.add(Character.valueOf('\uc3e2')); + charS.add(Character.valueOf('\uc3e3')); + charS.add(Character.valueOf('\uc3e4')); + charS.add(Character.valueOf('\uc3e5')); + charS.add(Character.valueOf('\uc3e6')); + charS.add(Character.valueOf('\uc3e7')); + charS.add(Character.valueOf('\uc3e8')); + charS.add(Character.valueOf('\uc3e9')); + charS.add(Character.valueOf('\uc3ea')); + charS.add(Character.valueOf('\uc3eb')); + charS.add(Character.valueOf('\uc3ec')); + charS.add(Character.valueOf('\uc3ed')); + charS.add(Character.valueOf('\uc3ee')); + charS.add(Character.valueOf('\uc3ef')); + charS.add(Character.valueOf('\uc3f0')); + charS.add(Character.valueOf('\uc3f1')); + charS.add(Character.valueOf('\uc3f2')); + charS.add(Character.valueOf('\uc3f3')); + charS.add(Character.valueOf('\uc3f4')); + charS.add(Character.valueOf('\uc3f5')); + charS.add(Character.valueOf('\uc3f6')); + charS.add(Character.valueOf('\uc3f7')); + charS.add(Character.valueOf('\uc3f8')); + charS.add(Character.valueOf('\uc3f9')); + charS.add(Character.valueOf('\uc3fa')); + charS.add(Character.valueOf('\uc3fb')); + charS.add(Character.valueOf('\uc3fc')); + charS.add(Character.valueOf('\uc3fd')); + charS.add(Character.valueOf('\uc3fe')); + charS.add(Character.valueOf('\uc3ff')); + charS.add(Character.valueOf('\uc400')); + charS.add(Character.valueOf('\uc401')); + charS.add(Character.valueOf('\uc402')); + charS.add(Character.valueOf('\uc403')); + charS.add(Character.valueOf('\uc404')); + charS.add(Character.valueOf('\uc405')); + charS.add(Character.valueOf('\uc406')); + charS.add(Character.valueOf('\uc407')); + charS.add(Character.valueOf('\uc408')); + charS.add(Character.valueOf('\uc409')); + charS.add(Character.valueOf('\uc40a')); + charS.add(Character.valueOf('\uc40b')); + charS.add(Character.valueOf('\uc40c')); + charS.add(Character.valueOf('\uc40d')); + charS.add(Character.valueOf('\uc40e')); + charS.add(Character.valueOf('\uc40f')); + charS.add(Character.valueOf('\uc410')); + charS.add(Character.valueOf('\uc411')); + charS.add(Character.valueOf('\uc412')); + charS.add(Character.valueOf('\uc413')); + charS.add(Character.valueOf('\uc414')); + charS.add(Character.valueOf('\uc415')); + charS.add(Character.valueOf('\uc416')); + charS.add(Character.valueOf('\uc417')); + charS.add(Character.valueOf('\uc418')); + charS.add(Character.valueOf('\uc419')); + charS.add(Character.valueOf('\uc41a')); + charS.add(Character.valueOf('\uc41b')); + charS.add(Character.valueOf('\uc41c')); + charS.add(Character.valueOf('\uc41d')); + charS.add(Character.valueOf('\uc41e')); + charS.add(Character.valueOf('\uc41f')); + charS.add(Character.valueOf('\uc420')); + charS.add(Character.valueOf('\uc421')); + charS.add(Character.valueOf('\uc422')); + charS.add(Character.valueOf('\uc423')); + charS.add(Character.valueOf('\uc424')); + charS.add(Character.valueOf('\uc425')); + charS.add(Character.valueOf('\uc426')); + charS.add(Character.valueOf('\uc427')); + charS.add(Character.valueOf('\uc428')); + charS.add(Character.valueOf('\uc429')); + charS.add(Character.valueOf('\uc42a')); + charS.add(Character.valueOf('\uc42b')); + charS.add(Character.valueOf('\uc42c')); + charS.add(Character.valueOf('\uc42d')); + charS.add(Character.valueOf('\uc42e')); + charS.add(Character.valueOf('\uc42f')); + charS.add(Character.valueOf('\uc430')); + charS.add(Character.valueOf('\uc431')); + charS.add(Character.valueOf('\uc432')); + charS.add(Character.valueOf('\uc433')); + charS.add(Character.valueOf('\uc434')); + charS.add(Character.valueOf('\uc435')); + charS.add(Character.valueOf('\uc436')); + charS.add(Character.valueOf('\uc437')); + charS.add(Character.valueOf('\uc438')); + charS.add(Character.valueOf('\uc439')); + charS.add(Character.valueOf('\uc43a')); + charS.add(Character.valueOf('\uc43b')); + charS.add(Character.valueOf('\uc43c')); + charS.add(Character.valueOf('\uc43d')); + charS.add(Character.valueOf('\uc43e')); + charS.add(Character.valueOf('\uc43f')); + charS.add(Character.valueOf('\uc440')); + charS.add(Character.valueOf('\uc441')); + charS.add(Character.valueOf('\uc442')); + charS.add(Character.valueOf('\uc443')); + charS.add(Character.valueOf('\uc444')); + charS.add(Character.valueOf('\uc445')); + charS.add(Character.valueOf('\uc446')); + charS.add(Character.valueOf('\uc447')); + charS.add(Character.valueOf('\uc448')); + charS.add(Character.valueOf('\uc449')); + charS.add(Character.valueOf('\uc44a')); + charS.add(Character.valueOf('\uc44b')); + charS.add(Character.valueOf('\uc44c')); + charS.add(Character.valueOf('\uc44d')); + charS.add(Character.valueOf('\uc44e')); + charS.add(Character.valueOf('\uc44f')); + charS.add(Character.valueOf('\uc450')); + charS.add(Character.valueOf('\uc451')); + charS.add(Character.valueOf('\uc452')); + charS.add(Character.valueOf('\uc453')); + charS.add(Character.valueOf('\uc454')); + charS.add(Character.valueOf('\uc455')); + charS.add(Character.valueOf('\uc456')); + charS.add(Character.valueOf('\uc457')); + charS.add(Character.valueOf('\uc458')); + charS.add(Character.valueOf('\uc459')); + charS.add(Character.valueOf('\uc45a')); + charS.add(Character.valueOf('\uc45b')); + charS.add(Character.valueOf('\uc45c')); + charS.add(Character.valueOf('\uc45d')); + charS.add(Character.valueOf('\uc45e')); + charS.add(Character.valueOf('\uc45f')); + charS.add(Character.valueOf('\uc460')); + charS.add(Character.valueOf('\uc461')); + charS.add(Character.valueOf('\uc462')); + charS.add(Character.valueOf('\uc463')); + charS.add(Character.valueOf('\uc464')); + charS.add(Character.valueOf('\uc465')); + charS.add(Character.valueOf('\uc466')); + charS.add(Character.valueOf('\uc467')); + charS.add(Character.valueOf('\uc468')); + charS.add(Character.valueOf('\uc469')); + charS.add(Character.valueOf('\uc46a')); + charS.add(Character.valueOf('\uc46b')); + charS.add(Character.valueOf('\uc46c')); + charS.add(Character.valueOf('\uc46d')); + charS.add(Character.valueOf('\uc46e')); + charS.add(Character.valueOf('\uc46f')); + charS.add(Character.valueOf('\uc470')); + charS.add(Character.valueOf('\uc471')); + charS.add(Character.valueOf('\uc472')); + charS.add(Character.valueOf('\uc473')); + charS.add(Character.valueOf('\uc474')); + charS.add(Character.valueOf('\uc475')); + charS.add(Character.valueOf('\uc476')); + charS.add(Character.valueOf('\uc477')); + charS.add(Character.valueOf('\uc478')); + charS.add(Character.valueOf('\uc479')); + charS.add(Character.valueOf('\uc47a')); + charS.add(Character.valueOf('\uc47b')); + charS.add(Character.valueOf('\uc47c')); + charS.add(Character.valueOf('\uc47d')); + charS.add(Character.valueOf('\uc47e')); + charS.add(Character.valueOf('\uc47f')); + charS.add(Character.valueOf('\uc480')); + charS.add(Character.valueOf('\uc481')); + charS.add(Character.valueOf('\uc482')); + charS.add(Character.valueOf('\uc483')); + charS.add(Character.valueOf('\uc484')); + charS.add(Character.valueOf('\uc485')); + charS.add(Character.valueOf('\uc486')); + charS.add(Character.valueOf('\uc487')); + charS.add(Character.valueOf('\uc488')); + charS.add(Character.valueOf('\uc489')); + charS.add(Character.valueOf('\uc48a')); + charS.add(Character.valueOf('\uc48b')); + charS.add(Character.valueOf('\uc48c')); + charS.add(Character.valueOf('\uc48d')); + charS.add(Character.valueOf('\uc48e')); + charS.add(Character.valueOf('\uc48f')); + charS.add(Character.valueOf('\uc490')); + charS.add(Character.valueOf('\uc491')); + charS.add(Character.valueOf('\uc492')); + charS.add(Character.valueOf('\uc493')); + charS.add(Character.valueOf('\uc494')); + charS.add(Character.valueOf('\uc495')); + charS.add(Character.valueOf('\uc496')); + charS.add(Character.valueOf('\uc497')); + charS.add(Character.valueOf('\uc498')); + charS.add(Character.valueOf('\uc499')); + charS.add(Character.valueOf('\uc49a')); + charS.add(Character.valueOf('\uc49b')); + charS.add(Character.valueOf('\uc49c')); + charS.add(Character.valueOf('\uc49d')); + charS.add(Character.valueOf('\uc49e')); + charS.add(Character.valueOf('\uc49f')); + charS.add(Character.valueOf('\uc4a0')); + charS.add(Character.valueOf('\uc4a1')); + charS.add(Character.valueOf('\uc4a2')); + charS.add(Character.valueOf('\uc4a3')); + charS.add(Character.valueOf('\uc4a4')); + charS.add(Character.valueOf('\uc4a5')); + charS.add(Character.valueOf('\uc4a6')); + charS.add(Character.valueOf('\uc4a7')); + charS.add(Character.valueOf('\uc4a8')); + charS.add(Character.valueOf('\uc4a9')); + charS.add(Character.valueOf('\uc4aa')); + charS.add(Character.valueOf('\uc4ab')); + charS.add(Character.valueOf('\uc4ac')); + charS.add(Character.valueOf('\uc4ad')); + charS.add(Character.valueOf('\uc4ae')); + charS.add(Character.valueOf('\uc4af')); + charS.add(Character.valueOf('\uc4b0')); + charS.add(Character.valueOf('\uc4b1')); + charS.add(Character.valueOf('\uc4b2')); + charS.add(Character.valueOf('\uc4b3')); + charS.add(Character.valueOf('\uc4b4')); + charS.add(Character.valueOf('\uc4b5')); + charS.add(Character.valueOf('\uc4b6')); + charS.add(Character.valueOf('\uc4b7')); + charS.add(Character.valueOf('\uc4b8')); + charS.add(Character.valueOf('\uc4b9')); + charS.add(Character.valueOf('\uc4ba')); + charS.add(Character.valueOf('\uc4bb')); + charS.add(Character.valueOf('\uc4bc')); + charS.add(Character.valueOf('\uc43d')); + charS.add(Character.valueOf('\uc4be')); + charS.add(Character.valueOf('\uc4bf')); + charS.add(Character.valueOf('\uc4c0')); + charS.add(Character.valueOf('\uc4c1')); + charS.add(Character.valueOf('\uc4c2')); + charS.add(Character.valueOf('\uc4c3')); + charS.add(Character.valueOf('\uc4c4')); + charS.add(Character.valueOf('\uc4c5')); + charS.add(Character.valueOf('\uc4c6')); + charS.add(Character.valueOf('\uc4c7')); + charS.add(Character.valueOf('\uc4c8')); + charS.add(Character.valueOf('\uc4c9')); + charS.add(Character.valueOf('\uc4ca')); + charS.add(Character.valueOf('\uc4cb')); + charS.add(Character.valueOf('\uc4cc')); + charS.add(Character.valueOf('\uc4cd')); + charS.add(Character.valueOf('\uc4ce')); + charS.add(Character.valueOf('\uc4cf')); + charS.add(Character.valueOf('\uc4d0')); + charS.add(Character.valueOf('\uc4d1')); + charS.add(Character.valueOf('\uc4d2')); + charS.add(Character.valueOf('\uc4d3')); + charS.add(Character.valueOf('\uc4d4')); + charS.add(Character.valueOf('\uc4d5')); + charS.add(Character.valueOf('\uc4d6')); + charS.add(Character.valueOf('\uc4d7')); + charS.add(Character.valueOf('\uc4d8')); + charS.add(Character.valueOf('\uc4d9')); + charS.add(Character.valueOf('\uc4da')); + charS.add(Character.valueOf('\uc4db')); + charS.add(Character.valueOf('\uc4dc')); + charS.add(Character.valueOf('\uc4dd')); + charS.add(Character.valueOf('\uc4de')); + charS.add(Character.valueOf('\uc4df')); + charS.add(Character.valueOf('\uc4e0')); + charS.add(Character.valueOf('\uc4e1')); + charS.add(Character.valueOf('\uc4e2')); + charS.add(Character.valueOf('\uc4e3')); + charS.add(Character.valueOf('\uc4e4')); + charS.add(Character.valueOf('\uc4e5')); + charS.add(Character.valueOf('\uc4e6')); + charS.add(Character.valueOf('\uc4e7')); + charS.add(Character.valueOf('\uc4e8')); + charS.add(Character.valueOf('\uc4e9')); + charS.add(Character.valueOf('\uc4ea')); + charS.add(Character.valueOf('\uc4eb')); + charS.add(Character.valueOf('\uc4ec')); + charS.add(Character.valueOf('\uc4ed')); + charS.add(Character.valueOf('\uc4ee')); + charS.add(Character.valueOf('\uc4ef')); + charS.add(Character.valueOf('\uc4f0')); + charS.add(Character.valueOf('\uc4f1')); + charS.add(Character.valueOf('\uc4f2')); + charS.add(Character.valueOf('\uc4f3')); + charS.add(Character.valueOf('\uc4f4')); + charS.add(Character.valueOf('\uc4f5')); + charS.add(Character.valueOf('\uc4f6')); + charS.add(Character.valueOf('\uc4f7')); + charS.add(Character.valueOf('\uc4f8')); + charS.add(Character.valueOf('\uc4f9')); + charS.add(Character.valueOf('\uc4fa')); + charS.add(Character.valueOf('\uc4fb')); + charS.add(Character.valueOf('\uc4fc')); + charS.add(Character.valueOf('\uc4fd')); + charS.add(Character.valueOf('\uc4fe')); + charS.add(Character.valueOf('\uc4ff')); + charS.add(Character.valueOf('\uc500')); + charS.add(Character.valueOf('\uc501')); + charS.add(Character.valueOf('\uc502')); + charS.add(Character.valueOf('\uc503')); + charS.add(Character.valueOf('\uc504')); + charS.add(Character.valueOf('\uc505')); + charS.add(Character.valueOf('\uc506')); + charS.add(Character.valueOf('\uc507')); + charS.add(Character.valueOf('\uc508')); + charS.add(Character.valueOf('\uc509')); + charS.add(Character.valueOf('\uc50a')); + charS.add(Character.valueOf('\uc50b')); + charS.add(Character.valueOf('\uc50c')); + charS.add(Character.valueOf('\uc50d')); + charS.add(Character.valueOf('\uc50e')); + charS.add(Character.valueOf('\uc50f')); + charS.add(Character.valueOf('\uc510')); + charS.add(Character.valueOf('\uc511')); + charS.add(Character.valueOf('\uc512')); + charS.add(Character.valueOf('\uc513')); + charS.add(Character.valueOf('\uc514')); + charS.add(Character.valueOf('\uc515')); + charS.add(Character.valueOf('\uc516')); + charS.add(Character.valueOf('\uc517')); + charS.add(Character.valueOf('\uc518')); + charS.add(Character.valueOf('\uc519')); + charS.add(Character.valueOf('\uc51a')); + charS.add(Character.valueOf('\uc51b')); + charS.add(Character.valueOf('\uc51c')); + charS.add(Character.valueOf('\uc51d')); + charS.add(Character.valueOf('\uc51e')); + charS.add(Character.valueOf('\uc51f')); + charS.add(Character.valueOf('\uc520')); + charS.add(Character.valueOf('\uc521')); + charS.add(Character.valueOf('\uc522')); + charS.add(Character.valueOf('\uc523')); + charS.add(Character.valueOf('\uc524')); + charS.add(Character.valueOf('\uc525')); + charS.add(Character.valueOf('\uc526')); + charS.add(Character.valueOf('\uc527')); + charS.add(Character.valueOf('\uc528')); + charS.add(Character.valueOf('\uc529')); + charS.add(Character.valueOf('\uc52a')); + charS.add(Character.valueOf('\uc52b')); + charS.add(Character.valueOf('\uc52c')); + charS.add(Character.valueOf('\uc52d')); + charS.add(Character.valueOf('\uc52e')); + charS.add(Character.valueOf('\uc52f')); + charS.add(Character.valueOf('\uc530')); + charS.add(Character.valueOf('\uc531')); + charS.add(Character.valueOf('\uc532')); + charS.add(Character.valueOf('\uc533')); + charS.add(Character.valueOf('\uc534')); + charS.add(Character.valueOf('\uc535')); + charS.add(Character.valueOf('\uc536')); + charS.add(Character.valueOf('\uc537')); + charS.add(Character.valueOf('\uc538')); + charS.add(Character.valueOf('\uc539')); + charS.add(Character.valueOf('\uc53a')); + charS.add(Character.valueOf('\uc53b')); + charS.add(Character.valueOf('\uc53c')); + charS.add(Character.valueOf('\uc53d')); + charS.add(Character.valueOf('\uc53e')); + charS.add(Character.valueOf('\uc53f')); + charS.add(Character.valueOf('\uc540')); + charS.add(Character.valueOf('\uc541')); + charS.add(Character.valueOf('\uc542')); + charS.add(Character.valueOf('\uc543')); + charS.add(Character.valueOf('\uc544')); + charS.add(Character.valueOf('\uc545')); + charS.add(Character.valueOf('\uc546')); + charS.add(Character.valueOf('\uc547')); + charS.add(Character.valueOf('\uc548')); + charS.add(Character.valueOf('\uc549')); + charS.add(Character.valueOf('\uc54a')); + charS.add(Character.valueOf('\uc54b')); + charS.add(Character.valueOf('\uc54c')); + charS.add(Character.valueOf('\uc54d')); + charS.add(Character.valueOf('\uc54e')); + charS.add(Character.valueOf('\uc54f')); + charS.add(Character.valueOf('\uc550')); + charS.add(Character.valueOf('\uc551')); + charS.add(Character.valueOf('\uc552')); + charS.add(Character.valueOf('\uc553')); + charS.add(Character.valueOf('\uc554')); + charS.add(Character.valueOf('\uc555')); + charS.add(Character.valueOf('\uc556')); + charS.add(Character.valueOf('\uc557')); + charS.add(Character.valueOf('\uc558')); + charS.add(Character.valueOf('\uc559')); + charS.add(Character.valueOf('\uc55a')); + charS.add(Character.valueOf('\uc55b')); + charS.add(Character.valueOf('\uc55c')); + charS.add(Character.valueOf('\uc55d')); + charS.add(Character.valueOf('\uc55e')); + charS.add(Character.valueOf('\uc55f')); + charS.add(Character.valueOf('\uc560')); + charS.add(Character.valueOf('\uc561')); + charS.add(Character.valueOf('\uc562')); + charS.add(Character.valueOf('\uc563')); + charS.add(Character.valueOf('\uc564')); + charS.add(Character.valueOf('\uc565')); + charS.add(Character.valueOf('\uc566')); + charS.add(Character.valueOf('\uc567')); + charS.add(Character.valueOf('\uc568')); + charS.add(Character.valueOf('\uc569')); + charS.add(Character.valueOf('\uc56a')); + charS.add(Character.valueOf('\uc56b')); + charS.add(Character.valueOf('\uc56c')); + charS.add(Character.valueOf('\uc56d')); + charS.add(Character.valueOf('\uc56e')); + charS.add(Character.valueOf('\uc56f')); + charS.add(Character.valueOf('\uc570')); + charS.add(Character.valueOf('\uc571')); + charS.add(Character.valueOf('\uc572')); + charS.add(Character.valueOf('\uc573')); + charS.add(Character.valueOf('\uc574')); + charS.add(Character.valueOf('\uc575')); + charS.add(Character.valueOf('\uc576')); + charS.add(Character.valueOf('\uc577')); + charS.add(Character.valueOf('\uc578')); + charS.add(Character.valueOf('\uc579')); + charS.add(Character.valueOf('\uc57a')); + charS.add(Character.valueOf('\uc57b')); + charS.add(Character.valueOf('\uc57c')); + charS.add(Character.valueOf('\uc57d')); + charS.add(Character.valueOf('\uc57e')); + charS.add(Character.valueOf('\uc57f')); + charS.add(Character.valueOf('\uc580')); + charS.add(Character.valueOf('\uc581')); + charS.add(Character.valueOf('\uc582')); + charS.add(Character.valueOf('\uc583')); + charS.add(Character.valueOf('\uc584')); + charS.add(Character.valueOf('\uc585')); + charS.add(Character.valueOf('\uc586')); + charS.add(Character.valueOf('\uc587')); + charS.add(Character.valueOf('\uc588')); + charS.add(Character.valueOf('\uc589')); + charS.add(Character.valueOf('\uc58a')); + charS.add(Character.valueOf('\uc58b')); + charS.add(Character.valueOf('\uc58c')); + charS.add(Character.valueOf('\uc58d')); + charS.add(Character.valueOf('\uc58e')); + charS.add(Character.valueOf('\uc58f')); + charS.add(Character.valueOf('\uc590')); + charS.add(Character.valueOf('\uc591')); + charS.add(Character.valueOf('\uc592')); + charS.add(Character.valueOf('\uc593')); + charS.add(Character.valueOf('\uc594')); + charS.add(Character.valueOf('\uc595')); + charS.add(Character.valueOf('\uc596')); + charS.add(Character.valueOf('\uc597')); + charS.add(Character.valueOf('\uc598')); + charS.add(Character.valueOf('\uc599')); + charS.add(Character.valueOf('\uc59a')); + charS.add(Character.valueOf('\uc59b')); + charS.add(Character.valueOf('\uc59c')); + charS.add(Character.valueOf('\uc59d')); + charS.add(Character.valueOf('\uc59e')); + charS.add(Character.valueOf('\uc59f')); + charS.add(Character.valueOf('\uc5a0')); + charS.add(Character.valueOf('\uc5a1')); + charS.add(Character.valueOf('\uc5a2')); + charS.add(Character.valueOf('\uc5a3')); + charS.add(Character.valueOf('\uc5a4')); + charS.add(Character.valueOf('\uc5a5')); + charS.add(Character.valueOf('\uc5a6')); + charS.add(Character.valueOf('\uc5a7')); + charS.add(Character.valueOf('\uc5a8')); + charS.add(Character.valueOf('\uc5a9')); + charS.add(Character.valueOf('\uc5aa')); + charS.add(Character.valueOf('\uc5ab')); + charS.add(Character.valueOf('\uc5ac')); + charS.add(Character.valueOf('\uc5ad')); + charS.add(Character.valueOf('\uc5ae')); + charS.add(Character.valueOf('\uc5af')); + charS.add(Character.valueOf('\uc5b0')); + charS.add(Character.valueOf('\uc5b1')); + charS.add(Character.valueOf('\uc5b2')); + charS.add(Character.valueOf('\uc5b3')); + charS.add(Character.valueOf('\uc5b4')); + charS.add(Character.valueOf('\uc5b5')); + charS.add(Character.valueOf('\uc5b6')); + charS.add(Character.valueOf('\uc5b7')); + charS.add(Character.valueOf('\uc5b8')); + charS.add(Character.valueOf('\uc5b9')); + charS.add(Character.valueOf('\uc5ba')); + charS.add(Character.valueOf('\uc5bb')); + charS.add(Character.valueOf('\uc5bc')); + charS.add(Character.valueOf('\uc53d')); + charS.add(Character.valueOf('\uc5be')); + charS.add(Character.valueOf('\uc5bf')); + charS.add(Character.valueOf('\uc5c0')); + charS.add(Character.valueOf('\uc5c1')); + charS.add(Character.valueOf('\uc5c2')); + charS.add(Character.valueOf('\uc5c3')); + charS.add(Character.valueOf('\uc5c4')); + charS.add(Character.valueOf('\uc5c5')); + charS.add(Character.valueOf('\uc5c6')); + charS.add(Character.valueOf('\uc5c7')); + charS.add(Character.valueOf('\uc5c8')); + charS.add(Character.valueOf('\uc5c9')); + charS.add(Character.valueOf('\uc5ca')); + charS.add(Character.valueOf('\uc5cb')); + charS.add(Character.valueOf('\uc5cc')); + charS.add(Character.valueOf('\uc5cd')); + charS.add(Character.valueOf('\uc5ce')); + charS.add(Character.valueOf('\uc5cf')); + charS.add(Character.valueOf('\uc5d0')); + charS.add(Character.valueOf('\uc5d1')); + charS.add(Character.valueOf('\uc5d2')); + charS.add(Character.valueOf('\uc5d3')); + charS.add(Character.valueOf('\uc5d4')); + charS.add(Character.valueOf('\uc5d5')); + charS.add(Character.valueOf('\uc5d6')); + charS.add(Character.valueOf('\uc5d7')); + charS.add(Character.valueOf('\uc5d8')); + charS.add(Character.valueOf('\uc5d9')); + charS.add(Character.valueOf('\uc5da')); + charS.add(Character.valueOf('\uc5db')); + charS.add(Character.valueOf('\uc5dc')); + charS.add(Character.valueOf('\uc5dd')); + charS.add(Character.valueOf('\uc5de')); + charS.add(Character.valueOf('\uc5df')); + charS.add(Character.valueOf('\uc5e0')); + charS.add(Character.valueOf('\uc5e1')); + charS.add(Character.valueOf('\uc5e2')); + charS.add(Character.valueOf('\uc5e3')); + charS.add(Character.valueOf('\uc5e4')); + charS.add(Character.valueOf('\uc5e5')); + charS.add(Character.valueOf('\uc5e6')); + charS.add(Character.valueOf('\uc5e7')); + charS.add(Character.valueOf('\uc5e8')); + charS.add(Character.valueOf('\uc5e9')); + charS.add(Character.valueOf('\uc5ea')); + charS.add(Character.valueOf('\uc5eb')); + charS.add(Character.valueOf('\uc5ec')); + charS.add(Character.valueOf('\uc5ed')); + charS.add(Character.valueOf('\uc5ee')); + charS.add(Character.valueOf('\uc5ef')); + charS.add(Character.valueOf('\uc5f0')); + charS.add(Character.valueOf('\uc5f1')); + charS.add(Character.valueOf('\uc5f2')); + charS.add(Character.valueOf('\uc5f3')); + charS.add(Character.valueOf('\uc5f4')); + charS.add(Character.valueOf('\uc5f5')); + charS.add(Character.valueOf('\uc5f6')); + charS.add(Character.valueOf('\uc5f7')); + charS.add(Character.valueOf('\uc5f8')); + charS.add(Character.valueOf('\uc5f9')); + charS.add(Character.valueOf('\uc5fa')); + charS.add(Character.valueOf('\uc5fb')); + charS.add(Character.valueOf('\uc5fc')); + charS.add(Character.valueOf('\uc5fd')); + charS.add(Character.valueOf('\uc5fe')); + charS.add(Character.valueOf('\uc5ff')); + charS.add(Character.valueOf('\uc600')); + charS.add(Character.valueOf('\uc601')); + charS.add(Character.valueOf('\uc602')); + charS.add(Character.valueOf('\uc603')); + charS.add(Character.valueOf('\uc604')); + charS.add(Character.valueOf('\uc605')); + charS.add(Character.valueOf('\uc606')); + charS.add(Character.valueOf('\uc607')); + charS.add(Character.valueOf('\uc608')); + charS.add(Character.valueOf('\uc609')); + charS.add(Character.valueOf('\uc60a')); + charS.add(Character.valueOf('\uc60b')); + charS.add(Character.valueOf('\uc60c')); + charS.add(Character.valueOf('\uc60d')); + charS.add(Character.valueOf('\uc60e')); + charS.add(Character.valueOf('\uc60f')); + charS.add(Character.valueOf('\uc610')); + charS.add(Character.valueOf('\uc611')); + charS.add(Character.valueOf('\uc612')); + charS.add(Character.valueOf('\uc613')); + charS.add(Character.valueOf('\uc614')); + charS.add(Character.valueOf('\uc615')); + charS.add(Character.valueOf('\uc616')); + charS.add(Character.valueOf('\uc617')); + charS.add(Character.valueOf('\uc618')); + charS.add(Character.valueOf('\uc619')); + charS.add(Character.valueOf('\uc61a')); + charS.add(Character.valueOf('\uc61b')); + charS.add(Character.valueOf('\uc61c')); + charS.add(Character.valueOf('\uc61d')); + charS.add(Character.valueOf('\uc61e')); + charS.add(Character.valueOf('\uc61f')); + charS.add(Character.valueOf('\uc620')); + charS.add(Character.valueOf('\uc621')); + charS.add(Character.valueOf('\uc622')); + charS.add(Character.valueOf('\uc623')); + charS.add(Character.valueOf('\uc624')); + charS.add(Character.valueOf('\uc625')); + charS.add(Character.valueOf('\uc626')); + charS.add(Character.valueOf('\uc627')); + charS.add(Character.valueOf('\uc628')); + charS.add(Character.valueOf('\uc629')); + charS.add(Character.valueOf('\uc62a')); + charS.add(Character.valueOf('\uc62b')); + charS.add(Character.valueOf('\uc62c')); + charS.add(Character.valueOf('\uc62d')); + charS.add(Character.valueOf('\uc62e')); + charS.add(Character.valueOf('\uc62f')); + charS.add(Character.valueOf('\uc630')); + charS.add(Character.valueOf('\uc631')); + charS.add(Character.valueOf('\uc632')); + charS.add(Character.valueOf('\uc633')); + charS.add(Character.valueOf('\uc634')); + charS.add(Character.valueOf('\uc635')); + charS.add(Character.valueOf('\uc636')); + charS.add(Character.valueOf('\uc637')); + charS.add(Character.valueOf('\uc638')); + charS.add(Character.valueOf('\uc639')); + charS.add(Character.valueOf('\uc63a')); + charS.add(Character.valueOf('\uc63b')); + charS.add(Character.valueOf('\uc63c')); + charS.add(Character.valueOf('\uc63d')); + charS.add(Character.valueOf('\uc63e')); + charS.add(Character.valueOf('\uc63f')); + charS.add(Character.valueOf('\uc640')); + charS.add(Character.valueOf('\uc641')); + charS.add(Character.valueOf('\uc642')); + charS.add(Character.valueOf('\uc643')); + charS.add(Character.valueOf('\uc644')); + charS.add(Character.valueOf('\uc645')); + charS.add(Character.valueOf('\uc646')); + charS.add(Character.valueOf('\uc647')); + charS.add(Character.valueOf('\uc648')); + charS.add(Character.valueOf('\uc649')); + charS.add(Character.valueOf('\uc64a')); + charS.add(Character.valueOf('\uc64b')); + charS.add(Character.valueOf('\uc64c')); + charS.add(Character.valueOf('\uc64d')); + charS.add(Character.valueOf('\uc64e')); + charS.add(Character.valueOf('\uc64f')); + charS.add(Character.valueOf('\uc650')); + charS.add(Character.valueOf('\uc651')); + charS.add(Character.valueOf('\uc652')); + charS.add(Character.valueOf('\uc653')); + charS.add(Character.valueOf('\uc654')); + charS.add(Character.valueOf('\uc655')); + charS.add(Character.valueOf('\uc656')); + charS.add(Character.valueOf('\uc657')); + charS.add(Character.valueOf('\uc658')); + charS.add(Character.valueOf('\uc659')); + charS.add(Character.valueOf('\uc65a')); + charS.add(Character.valueOf('\uc65b')); + charS.add(Character.valueOf('\uc65c')); + charS.add(Character.valueOf('\uc65d')); + charS.add(Character.valueOf('\uc65e')); + charS.add(Character.valueOf('\uc65f')); + charS.add(Character.valueOf('\uc660')); + charS.add(Character.valueOf('\uc661')); + charS.add(Character.valueOf('\uc662')); + charS.add(Character.valueOf('\uc663')); + charS.add(Character.valueOf('\uc664')); + charS.add(Character.valueOf('\uc665')); + charS.add(Character.valueOf('\uc666')); + charS.add(Character.valueOf('\uc667')); + charS.add(Character.valueOf('\uc668')); + charS.add(Character.valueOf('\uc669')); + charS.add(Character.valueOf('\uc66a')); + charS.add(Character.valueOf('\uc66b')); + charS.add(Character.valueOf('\uc66c')); + charS.add(Character.valueOf('\uc66d')); + charS.add(Character.valueOf('\uc66e')); + charS.add(Character.valueOf('\uc66f')); + charS.add(Character.valueOf('\uc670')); + charS.add(Character.valueOf('\uc671')); + charS.add(Character.valueOf('\uc672')); + charS.add(Character.valueOf('\uc673')); + charS.add(Character.valueOf('\uc674')); + charS.add(Character.valueOf('\uc675')); + charS.add(Character.valueOf('\uc676')); + charS.add(Character.valueOf('\uc677')); + charS.add(Character.valueOf('\uc678')); + charS.add(Character.valueOf('\uc679')); + charS.add(Character.valueOf('\uc67a')); + charS.add(Character.valueOf('\uc67b')); + charS.add(Character.valueOf('\uc67c')); + charS.add(Character.valueOf('\uc67d')); + charS.add(Character.valueOf('\uc67e')); + charS.add(Character.valueOf('\uc67f')); + charS.add(Character.valueOf('\uc680')); + charS.add(Character.valueOf('\uc681')); + charS.add(Character.valueOf('\uc682')); + charS.add(Character.valueOf('\uc683')); + charS.add(Character.valueOf('\uc684')); + charS.add(Character.valueOf('\uc685')); + charS.add(Character.valueOf('\uc686')); + charS.add(Character.valueOf('\uc687')); + charS.add(Character.valueOf('\uc688')); + charS.add(Character.valueOf('\uc689')); + charS.add(Character.valueOf('\uc68a')); + charS.add(Character.valueOf('\uc68b')); + charS.add(Character.valueOf('\uc68c')); + charS.add(Character.valueOf('\uc68d')); + charS.add(Character.valueOf('\uc68e')); + charS.add(Character.valueOf('\uc68f')); + charS.add(Character.valueOf('\uc690')); + charS.add(Character.valueOf('\uc691')); + charS.add(Character.valueOf('\uc692')); + charS.add(Character.valueOf('\uc693')); + charS.add(Character.valueOf('\uc694')); + charS.add(Character.valueOf('\uc695')); + charS.add(Character.valueOf('\uc696')); + charS.add(Character.valueOf('\uc697')); + charS.add(Character.valueOf('\uc698')); + charS.add(Character.valueOf('\uc699')); + charS.add(Character.valueOf('\uc69a')); + charS.add(Character.valueOf('\uc69b')); + charS.add(Character.valueOf('\uc69c')); + charS.add(Character.valueOf('\uc69d')); + charS.add(Character.valueOf('\uc69e')); + charS.add(Character.valueOf('\uc69f')); + charS.add(Character.valueOf('\uc6a0')); + charS.add(Character.valueOf('\uc6a1')); + charS.add(Character.valueOf('\uc6a2')); + charS.add(Character.valueOf('\uc6a3')); + charS.add(Character.valueOf('\uc6a4')); + charS.add(Character.valueOf('\uc6a5')); + charS.add(Character.valueOf('\uc6a6')); + charS.add(Character.valueOf('\uc6a7')); + charS.add(Character.valueOf('\uc6a8')); + charS.add(Character.valueOf('\uc6a9')); + charS.add(Character.valueOf('\uc6aa')); + charS.add(Character.valueOf('\uc6ab')); + charS.add(Character.valueOf('\uc6ac')); + charS.add(Character.valueOf('\uc6ad')); + charS.add(Character.valueOf('\uc6ae')); + charS.add(Character.valueOf('\uc6af')); + charS.add(Character.valueOf('\uc6b0')); + charS.add(Character.valueOf('\uc6b1')); + charS.add(Character.valueOf('\uc6b2')); + charS.add(Character.valueOf('\uc6b3')); + charS.add(Character.valueOf('\uc6b4')); + charS.add(Character.valueOf('\uc6b5')); + charS.add(Character.valueOf('\uc6b6')); + charS.add(Character.valueOf('\uc6b7')); + charS.add(Character.valueOf('\uc6b8')); + charS.add(Character.valueOf('\uc6b9')); + charS.add(Character.valueOf('\uc6ba')); + charS.add(Character.valueOf('\uc6bb')); + charS.add(Character.valueOf('\uc6bc')); + charS.add(Character.valueOf('\uc63d')); + charS.add(Character.valueOf('\uc6be')); + charS.add(Character.valueOf('\uc6bf')); + charS.add(Character.valueOf('\uc6c0')); + charS.add(Character.valueOf('\uc6c1')); + charS.add(Character.valueOf('\uc6c2')); + charS.add(Character.valueOf('\uc6c3')); + charS.add(Character.valueOf('\uc6c4')); + charS.add(Character.valueOf('\uc6c5')); + charS.add(Character.valueOf('\uc6c6')); + charS.add(Character.valueOf('\uc6c7')); + charS.add(Character.valueOf('\uc6c8')); + charS.add(Character.valueOf('\uc6c9')); + charS.add(Character.valueOf('\uc6ca')); + charS.add(Character.valueOf('\uc6cb')); + charS.add(Character.valueOf('\uc6cc')); + charS.add(Character.valueOf('\uc6cd')); + charS.add(Character.valueOf('\uc6ce')); + charS.add(Character.valueOf('\uc6cf')); + charS.add(Character.valueOf('\uc6d0')); + charS.add(Character.valueOf('\uc6d1')); + charS.add(Character.valueOf('\uc6d2')); + charS.add(Character.valueOf('\uc6d3')); + charS.add(Character.valueOf('\uc6d4')); + charS.add(Character.valueOf('\uc6d5')); + charS.add(Character.valueOf('\uc6d6')); + charS.add(Character.valueOf('\uc6d7')); + charS.add(Character.valueOf('\uc6d8')); + charS.add(Character.valueOf('\uc6d9')); + charS.add(Character.valueOf('\uc6da')); + charS.add(Character.valueOf('\uc6db')); + charS.add(Character.valueOf('\uc6dc')); + charS.add(Character.valueOf('\uc6dd')); + charS.add(Character.valueOf('\uc6de')); + charS.add(Character.valueOf('\uc6df')); + charS.add(Character.valueOf('\uc6e0')); + charS.add(Character.valueOf('\uc6e1')); + charS.add(Character.valueOf('\uc6e2')); + charS.add(Character.valueOf('\uc6e3')); + charS.add(Character.valueOf('\uc6e4')); + charS.add(Character.valueOf('\uc6e5')); + charS.add(Character.valueOf('\uc6e6')); + charS.add(Character.valueOf('\uc6e7')); + charS.add(Character.valueOf('\uc6e8')); + charS.add(Character.valueOf('\uc6e9')); + charS.add(Character.valueOf('\uc6ea')); + charS.add(Character.valueOf('\uc6eb')); + charS.add(Character.valueOf('\uc6ec')); + charS.add(Character.valueOf('\uc6ed')); + charS.add(Character.valueOf('\uc6ee')); + charS.add(Character.valueOf('\uc6ef')); + charS.add(Character.valueOf('\uc6f0')); + charS.add(Character.valueOf('\uc6f1')); + charS.add(Character.valueOf('\uc6f2')); + charS.add(Character.valueOf('\uc6f3')); + charS.add(Character.valueOf('\uc6f4')); + charS.add(Character.valueOf('\uc6f5')); + charS.add(Character.valueOf('\uc6f6')); + charS.add(Character.valueOf('\uc6f7')); + charS.add(Character.valueOf('\uc6f8')); + charS.add(Character.valueOf('\uc6f9')); + charS.add(Character.valueOf('\uc6fa')); + charS.add(Character.valueOf('\uc6fb')); + charS.add(Character.valueOf('\uc6fc')); + charS.add(Character.valueOf('\uc6fd')); + charS.add(Character.valueOf('\uc6fe')); + charS.add(Character.valueOf('\uc6ff')); + charS.add(Character.valueOf('\uc700')); + charS.add(Character.valueOf('\uc701')); + charS.add(Character.valueOf('\uc702')); + charS.add(Character.valueOf('\uc703')); + charS.add(Character.valueOf('\uc704')); + charS.add(Character.valueOf('\uc705')); + charS.add(Character.valueOf('\uc706')); + charS.add(Character.valueOf('\uc707')); + charS.add(Character.valueOf('\uc708')); + charS.add(Character.valueOf('\uc709')); + charS.add(Character.valueOf('\uc70a')); + charS.add(Character.valueOf('\uc70b')); + charS.add(Character.valueOf('\uc70c')); + charS.add(Character.valueOf('\uc70d')); + charS.add(Character.valueOf('\uc70e')); + charS.add(Character.valueOf('\uc70f')); + charS.add(Character.valueOf('\uc710')); + charS.add(Character.valueOf('\uc711')); + charS.add(Character.valueOf('\uc712')); + charS.add(Character.valueOf('\uc713')); + charS.add(Character.valueOf('\uc714')); + charS.add(Character.valueOf('\uc715')); + charS.add(Character.valueOf('\uc716')); + charS.add(Character.valueOf('\uc717')); + charS.add(Character.valueOf('\uc718')); + charS.add(Character.valueOf('\uc719')); + charS.add(Character.valueOf('\uc71a')); + charS.add(Character.valueOf('\uc71b')); + charS.add(Character.valueOf('\uc71c')); + charS.add(Character.valueOf('\uc71d')); + charS.add(Character.valueOf('\uc71e')); + charS.add(Character.valueOf('\uc71f')); + charS.add(Character.valueOf('\uc720')); + charS.add(Character.valueOf('\uc721')); + charS.add(Character.valueOf('\uc722')); + charS.add(Character.valueOf('\uc723')); + charS.add(Character.valueOf('\uc724')); + charS.add(Character.valueOf('\uc725')); + charS.add(Character.valueOf('\uc726')); + charS.add(Character.valueOf('\uc727')); + charS.add(Character.valueOf('\uc728')); + charS.add(Character.valueOf('\uc729')); + charS.add(Character.valueOf('\uc72a')); + charS.add(Character.valueOf('\uc72b')); + charS.add(Character.valueOf('\uc72c')); + charS.add(Character.valueOf('\uc72d')); + charS.add(Character.valueOf('\uc72e')); + charS.add(Character.valueOf('\uc72f')); + charS.add(Character.valueOf('\uc730')); + charS.add(Character.valueOf('\uc731')); + charS.add(Character.valueOf('\uc732')); + charS.add(Character.valueOf('\uc733')); + charS.add(Character.valueOf('\uc734')); + charS.add(Character.valueOf('\uc735')); + charS.add(Character.valueOf('\uc736')); + charS.add(Character.valueOf('\uc737')); + charS.add(Character.valueOf('\uc738')); + charS.add(Character.valueOf('\uc739')); + charS.add(Character.valueOf('\uc73a')); + charS.add(Character.valueOf('\uc73b')); + charS.add(Character.valueOf('\uc73c')); + charS.add(Character.valueOf('\uc73d')); + charS.add(Character.valueOf('\uc73e')); + charS.add(Character.valueOf('\uc73f')); + charS.add(Character.valueOf('\uc740')); + charS.add(Character.valueOf('\uc741')); + charS.add(Character.valueOf('\uc742')); + charS.add(Character.valueOf('\uc743')); + charS.add(Character.valueOf('\uc744')); + charS.add(Character.valueOf('\uc745')); + charS.add(Character.valueOf('\uc746')); + charS.add(Character.valueOf('\uc747')); + charS.add(Character.valueOf('\uc748')); + charS.add(Character.valueOf('\uc749')); + charS.add(Character.valueOf('\uc74a')); + charS.add(Character.valueOf('\uc74b')); + charS.add(Character.valueOf('\uc74c')); + charS.add(Character.valueOf('\uc74d')); + charS.add(Character.valueOf('\uc74e')); + charS.add(Character.valueOf('\uc74f')); + charS.add(Character.valueOf('\uc750')); + charS.add(Character.valueOf('\uc751')); + charS.add(Character.valueOf('\uc752')); + charS.add(Character.valueOf('\uc753')); + charS.add(Character.valueOf('\uc754')); + charS.add(Character.valueOf('\uc755')); + charS.add(Character.valueOf('\uc756')); + charS.add(Character.valueOf('\uc757')); + charS.add(Character.valueOf('\uc758')); + charS.add(Character.valueOf('\uc759')); + charS.add(Character.valueOf('\uc75a')); + charS.add(Character.valueOf('\uc75b')); + charS.add(Character.valueOf('\uc75c')); + charS.add(Character.valueOf('\uc75d')); + charS.add(Character.valueOf('\uc75e')); + charS.add(Character.valueOf('\uc75f')); + charS.add(Character.valueOf('\uc760')); + charS.add(Character.valueOf('\uc761')); + charS.add(Character.valueOf('\uc762')); + charS.add(Character.valueOf('\uc763')); + charS.add(Character.valueOf('\uc764')); + charS.add(Character.valueOf('\uc765')); + charS.add(Character.valueOf('\uc766')); + charS.add(Character.valueOf('\uc767')); + charS.add(Character.valueOf('\uc768')); + charS.add(Character.valueOf('\uc769')); + charS.add(Character.valueOf('\uc76a')); + charS.add(Character.valueOf('\uc76b')); + charS.add(Character.valueOf('\uc76c')); + charS.add(Character.valueOf('\uc76d')); + charS.add(Character.valueOf('\uc76e')); + charS.add(Character.valueOf('\uc76f')); + charS.add(Character.valueOf('\uc770')); + charS.add(Character.valueOf('\uc771')); + charS.add(Character.valueOf('\uc772')); + charS.add(Character.valueOf('\uc773')); + charS.add(Character.valueOf('\uc774')); + charS.add(Character.valueOf('\uc775')); + charS.add(Character.valueOf('\uc776')); + charS.add(Character.valueOf('\uc777')); + charS.add(Character.valueOf('\uc778')); + charS.add(Character.valueOf('\uc779')); + charS.add(Character.valueOf('\uc77a')); + charS.add(Character.valueOf('\uc77b')); + charS.add(Character.valueOf('\uc77c')); + charS.add(Character.valueOf('\uc77d')); + charS.add(Character.valueOf('\uc77e')); + charS.add(Character.valueOf('\uc77f')); + charS.add(Character.valueOf('\uc780')); + charS.add(Character.valueOf('\uc781')); + charS.add(Character.valueOf('\uc782')); + charS.add(Character.valueOf('\uc783')); + charS.add(Character.valueOf('\uc784')); + charS.add(Character.valueOf('\uc785')); + charS.add(Character.valueOf('\uc786')); + charS.add(Character.valueOf('\uc787')); + charS.add(Character.valueOf('\uc788')); + charS.add(Character.valueOf('\uc789')); + charS.add(Character.valueOf('\uc78a')); + charS.add(Character.valueOf('\uc78b')); + charS.add(Character.valueOf('\uc78c')); + charS.add(Character.valueOf('\uc78d')); + charS.add(Character.valueOf('\uc78e')); + charS.add(Character.valueOf('\uc78f')); + charS.add(Character.valueOf('\uc790')); + charS.add(Character.valueOf('\uc791')); + charS.add(Character.valueOf('\uc792')); + charS.add(Character.valueOf('\uc793')); + charS.add(Character.valueOf('\uc794')); + charS.add(Character.valueOf('\uc795')); + charS.add(Character.valueOf('\uc796')); + charS.add(Character.valueOf('\uc797')); + charS.add(Character.valueOf('\uc798')); + charS.add(Character.valueOf('\uc799')); + charS.add(Character.valueOf('\uc79a')); + charS.add(Character.valueOf('\uc79b')); + charS.add(Character.valueOf('\uc79c')); + charS.add(Character.valueOf('\uc79d')); + charS.add(Character.valueOf('\uc79e')); + charS.add(Character.valueOf('\uc79f')); + charS.add(Character.valueOf('\uc7a0')); + charS.add(Character.valueOf('\uc7a1')); + charS.add(Character.valueOf('\uc7a2')); + charS.add(Character.valueOf('\uc7a3')); + charS.add(Character.valueOf('\uc7a4')); + charS.add(Character.valueOf('\uc7a5')); + charS.add(Character.valueOf('\uc7a6')); + charS.add(Character.valueOf('\uc7a7')); + charS.add(Character.valueOf('\uc7a8')); + charS.add(Character.valueOf('\uc7a9')); + charS.add(Character.valueOf('\uc7aa')); + charS.add(Character.valueOf('\uc7ab')); + charS.add(Character.valueOf('\uc7ac')); + charS.add(Character.valueOf('\uc7ad')); + charS.add(Character.valueOf('\uc7ae')); + charS.add(Character.valueOf('\uc7af')); + charS.add(Character.valueOf('\uc7b0')); + charS.add(Character.valueOf('\uc7b1')); + charS.add(Character.valueOf('\uc7b2')); + charS.add(Character.valueOf('\uc7b3')); + charS.add(Character.valueOf('\uc7b4')); + charS.add(Character.valueOf('\uc7b5')); + charS.add(Character.valueOf('\uc7b6')); + charS.add(Character.valueOf('\uc7b7')); + charS.add(Character.valueOf('\uc7b8')); + charS.add(Character.valueOf('\uc7b9')); + charS.add(Character.valueOf('\uc7ba')); + charS.add(Character.valueOf('\uc7bb')); + charS.add(Character.valueOf('\uc7bc')); + charS.add(Character.valueOf('\uc73d')); + charS.add(Character.valueOf('\uc7be')); + charS.add(Character.valueOf('\uc7bf')); + charS.add(Character.valueOf('\uc7c0')); + charS.add(Character.valueOf('\uc7c1')); + charS.add(Character.valueOf('\uc7c2')); + charS.add(Character.valueOf('\uc7c3')); + charS.add(Character.valueOf('\uc7c4')); + charS.add(Character.valueOf('\uc7c5')); + charS.add(Character.valueOf('\uc7c6')); + charS.add(Character.valueOf('\uc7c7')); + charS.add(Character.valueOf('\uc7c8')); + charS.add(Character.valueOf('\uc7c9')); + charS.add(Character.valueOf('\uc7ca')); + charS.add(Character.valueOf('\uc7cb')); + charS.add(Character.valueOf('\uc7cc')); + charS.add(Character.valueOf('\uc7cd')); + charS.add(Character.valueOf('\uc7ce')); + charS.add(Character.valueOf('\uc7cf')); + charS.add(Character.valueOf('\uc7d0')); + charS.add(Character.valueOf('\uc7d1')); + charS.add(Character.valueOf('\uc7d2')); + charS.add(Character.valueOf('\uc7d3')); + charS.add(Character.valueOf('\uc7d4')); + charS.add(Character.valueOf('\uc7d5')); + charS.add(Character.valueOf('\uc7d6')); + charS.add(Character.valueOf('\uc7d7')); + charS.add(Character.valueOf('\uc7d8')); + charS.add(Character.valueOf('\uc7d9')); + charS.add(Character.valueOf('\uc7da')); + charS.add(Character.valueOf('\uc7db')); + charS.add(Character.valueOf('\uc7dc')); + charS.add(Character.valueOf('\uc7dd')); + charS.add(Character.valueOf('\uc7de')); + charS.add(Character.valueOf('\uc7df')); + charS.add(Character.valueOf('\uc7e0')); + charS.add(Character.valueOf('\uc7e1')); + charS.add(Character.valueOf('\uc7e2')); + charS.add(Character.valueOf('\uc7e3')); + charS.add(Character.valueOf('\uc7e4')); + charS.add(Character.valueOf('\uc7e5')); + charS.add(Character.valueOf('\uc7e6')); + charS.add(Character.valueOf('\uc7e7')); + charS.add(Character.valueOf('\uc7e8')); + charS.add(Character.valueOf('\uc7e9')); + charS.add(Character.valueOf('\uc7ea')); + charS.add(Character.valueOf('\uc7eb')); + charS.add(Character.valueOf('\uc7ec')); + charS.add(Character.valueOf('\uc7ed')); + charS.add(Character.valueOf('\uc7ee')); + charS.add(Character.valueOf('\uc7ef')); + charS.add(Character.valueOf('\uc7f0')); + charS.add(Character.valueOf('\uc7f1')); + charS.add(Character.valueOf('\uc7f2')); + charS.add(Character.valueOf('\uc7f3')); + charS.add(Character.valueOf('\uc7f4')); + charS.add(Character.valueOf('\uc7f5')); + charS.add(Character.valueOf('\uc7f6')); + charS.add(Character.valueOf('\uc7f7')); + charS.add(Character.valueOf('\uc7f8')); + charS.add(Character.valueOf('\uc7f9')); + charS.add(Character.valueOf('\uc7fa')); + charS.add(Character.valueOf('\uc7fb')); + charS.add(Character.valueOf('\uc7fc')); + charS.add(Character.valueOf('\uc7fd')); + charS.add(Character.valueOf('\uc7fe')); + charS.add(Character.valueOf('\uc7ff')); + charS.add(Character.valueOf('\uc800')); + charS.add(Character.valueOf('\uc801')); + charS.add(Character.valueOf('\uc802')); + charS.add(Character.valueOf('\uc803')); + charS.add(Character.valueOf('\uc804')); + charS.add(Character.valueOf('\uc805')); + charS.add(Character.valueOf('\uc806')); + charS.add(Character.valueOf('\uc807')); + charS.add(Character.valueOf('\uc808')); + charS.add(Character.valueOf('\uc809')); + charS.add(Character.valueOf('\uc80a')); + charS.add(Character.valueOf('\uc80b')); + charS.add(Character.valueOf('\uc80c')); + charS.add(Character.valueOf('\uc80d')); + charS.add(Character.valueOf('\uc80e')); + charS.add(Character.valueOf('\uc80f')); + charS.add(Character.valueOf('\uc810')); + charS.add(Character.valueOf('\uc811')); + charS.add(Character.valueOf('\uc812')); + charS.add(Character.valueOf('\uc813')); + charS.add(Character.valueOf('\uc814')); + charS.add(Character.valueOf('\uc815')); + charS.add(Character.valueOf('\uc816')); + charS.add(Character.valueOf('\uc817')); + charS.add(Character.valueOf('\uc818')); + charS.add(Character.valueOf('\uc819')); + charS.add(Character.valueOf('\uc81a')); + charS.add(Character.valueOf('\uc81b')); + charS.add(Character.valueOf('\uc81c')); + charS.add(Character.valueOf('\uc81d')); + charS.add(Character.valueOf('\uc81e')); + charS.add(Character.valueOf('\uc81f')); + charS.add(Character.valueOf('\uc820')); + charS.add(Character.valueOf('\uc821')); + charS.add(Character.valueOf('\uc822')); + charS.add(Character.valueOf('\uc823')); + charS.add(Character.valueOf('\uc824')); + charS.add(Character.valueOf('\uc825')); + charS.add(Character.valueOf('\uc826')); + charS.add(Character.valueOf('\uc827')); + charS.add(Character.valueOf('\uc828')); + charS.add(Character.valueOf('\uc829')); + charS.add(Character.valueOf('\uc82a')); + charS.add(Character.valueOf('\uc82b')); + charS.add(Character.valueOf('\uc82c')); + charS.add(Character.valueOf('\uc82d')); + charS.add(Character.valueOf('\uc82e')); + charS.add(Character.valueOf('\uc82f')); + charS.add(Character.valueOf('\uc830')); + charS.add(Character.valueOf('\uc831')); + charS.add(Character.valueOf('\uc832')); + charS.add(Character.valueOf('\uc833')); + charS.add(Character.valueOf('\uc834')); + charS.add(Character.valueOf('\uc835')); + charS.add(Character.valueOf('\uc836')); + charS.add(Character.valueOf('\uc837')); + charS.add(Character.valueOf('\uc838')); + charS.add(Character.valueOf('\uc839')); + charS.add(Character.valueOf('\uc83a')); + charS.add(Character.valueOf('\uc83b')); + charS.add(Character.valueOf('\uc83c')); + charS.add(Character.valueOf('\uc83d')); + charS.add(Character.valueOf('\uc83e')); + charS.add(Character.valueOf('\uc83f')); + charS.add(Character.valueOf('\uc840')); + charS.add(Character.valueOf('\uc841')); + charS.add(Character.valueOf('\uc842')); + charS.add(Character.valueOf('\uc843')); + charS.add(Character.valueOf('\uc844')); + charS.add(Character.valueOf('\uc845')); + charS.add(Character.valueOf('\uc846')); + charS.add(Character.valueOf('\uc847')); + charS.add(Character.valueOf('\uc848')); + charS.add(Character.valueOf('\uc849')); + charS.add(Character.valueOf('\uc84a')); + charS.add(Character.valueOf('\uc84b')); + charS.add(Character.valueOf('\uc84c')); + charS.add(Character.valueOf('\uc84d')); + charS.add(Character.valueOf('\uc84e')); + charS.add(Character.valueOf('\uc84f')); + charS.add(Character.valueOf('\uc850')); + charS.add(Character.valueOf('\uc851')); + charS.add(Character.valueOf('\uc852')); + charS.add(Character.valueOf('\uc853')); + charS.add(Character.valueOf('\uc854')); + charS.add(Character.valueOf('\uc855')); + charS.add(Character.valueOf('\uc856')); + charS.add(Character.valueOf('\uc857')); + charS.add(Character.valueOf('\uc858')); + charS.add(Character.valueOf('\uc859')); + charS.add(Character.valueOf('\uc85a')); + charS.add(Character.valueOf('\uc85b')); + charS.add(Character.valueOf('\uc85c')); + charS.add(Character.valueOf('\uc85d')); + charS.add(Character.valueOf('\uc85e')); + charS.add(Character.valueOf('\uc85f')); + charS.add(Character.valueOf('\uc860')); + charS.add(Character.valueOf('\uc861')); + charS.add(Character.valueOf('\uc862')); + charS.add(Character.valueOf('\uc863')); + charS.add(Character.valueOf('\uc864')); + charS.add(Character.valueOf('\uc865')); + charS.add(Character.valueOf('\uc866')); + charS.add(Character.valueOf('\uc867')); + charS.add(Character.valueOf('\uc868')); + charS.add(Character.valueOf('\uc869')); + charS.add(Character.valueOf('\uc86a')); + charS.add(Character.valueOf('\uc86b')); + charS.add(Character.valueOf('\uc86c')); + charS.add(Character.valueOf('\uc86d')); + charS.add(Character.valueOf('\uc86e')); + charS.add(Character.valueOf('\uc86f')); + charS.add(Character.valueOf('\uc870')); + charS.add(Character.valueOf('\uc871')); + charS.add(Character.valueOf('\uc872')); + charS.add(Character.valueOf('\uc873')); + charS.add(Character.valueOf('\uc874')); + charS.add(Character.valueOf('\uc875')); + charS.add(Character.valueOf('\uc876')); + charS.add(Character.valueOf('\uc877')); + charS.add(Character.valueOf('\uc878')); + charS.add(Character.valueOf('\uc879')); + charS.add(Character.valueOf('\uc87a')); + charS.add(Character.valueOf('\uc87b')); + charS.add(Character.valueOf('\uc87c')); + charS.add(Character.valueOf('\uc87d')); + charS.add(Character.valueOf('\uc87e')); + charS.add(Character.valueOf('\uc87f')); + charS.add(Character.valueOf('\uc880')); + charS.add(Character.valueOf('\uc881')); + charS.add(Character.valueOf('\uc882')); + charS.add(Character.valueOf('\uc883')); + charS.add(Character.valueOf('\uc884')); + charS.add(Character.valueOf('\uc885')); + charS.add(Character.valueOf('\uc886')); + charS.add(Character.valueOf('\uc887')); + charS.add(Character.valueOf('\uc888')); + charS.add(Character.valueOf('\uc889')); + charS.add(Character.valueOf('\uc88a')); + charS.add(Character.valueOf('\uc88b')); + charS.add(Character.valueOf('\uc88c')); + charS.add(Character.valueOf('\uc88d')); + charS.add(Character.valueOf('\uc88e')); + charS.add(Character.valueOf('\uc88f')); + charS.add(Character.valueOf('\uc890')); + charS.add(Character.valueOf('\uc891')); + charS.add(Character.valueOf('\uc892')); + charS.add(Character.valueOf('\uc893')); + charS.add(Character.valueOf('\uc894')); + charS.add(Character.valueOf('\uc895')); + charS.add(Character.valueOf('\uc896')); + charS.add(Character.valueOf('\uc897')); + charS.add(Character.valueOf('\uc898')); + charS.add(Character.valueOf('\uc899')); + charS.add(Character.valueOf('\uc89a')); + charS.add(Character.valueOf('\uc89b')); + charS.add(Character.valueOf('\uc89c')); + charS.add(Character.valueOf('\uc89d')); + charS.add(Character.valueOf('\uc89e')); + charS.add(Character.valueOf('\uc89f')); + charS.add(Character.valueOf('\uc8a0')); + charS.add(Character.valueOf('\uc8a1')); + charS.add(Character.valueOf('\uc8a2')); + charS.add(Character.valueOf('\uc8a3')); + charS.add(Character.valueOf('\uc8a4')); + charS.add(Character.valueOf('\uc8a5')); + charS.add(Character.valueOf('\uc8a6')); + charS.add(Character.valueOf('\uc8a7')); + charS.add(Character.valueOf('\uc8a8')); + charS.add(Character.valueOf('\uc8a9')); + charS.add(Character.valueOf('\uc8aa')); + charS.add(Character.valueOf('\uc8ab')); + charS.add(Character.valueOf('\uc8ac')); + charS.add(Character.valueOf('\uc8ad')); + charS.add(Character.valueOf('\uc8ae')); + charS.add(Character.valueOf('\uc8af')); + charS.add(Character.valueOf('\uc8b0')); + charS.add(Character.valueOf('\uc8b1')); + charS.add(Character.valueOf('\uc8b2')); + charS.add(Character.valueOf('\uc8b3')); + charS.add(Character.valueOf('\uc8b4')); + charS.add(Character.valueOf('\uc8b5')); + charS.add(Character.valueOf('\uc8b6')); + charS.add(Character.valueOf('\uc8b7')); + charS.add(Character.valueOf('\uc8b8')); + charS.add(Character.valueOf('\uc8b9')); + charS.add(Character.valueOf('\uc8ba')); + charS.add(Character.valueOf('\uc8bb')); + charS.add(Character.valueOf('\uc8bc')); + charS.add(Character.valueOf('\uc83d')); + charS.add(Character.valueOf('\uc8be')); + charS.add(Character.valueOf('\uc8bf')); + charS.add(Character.valueOf('\uc8c0')); + charS.add(Character.valueOf('\uc8c1')); + charS.add(Character.valueOf('\uc8c2')); + charS.add(Character.valueOf('\uc8c3')); + charS.add(Character.valueOf('\uc8c4')); + charS.add(Character.valueOf('\uc8c5')); + charS.add(Character.valueOf('\uc8c6')); + charS.add(Character.valueOf('\uc8c7')); + charS.add(Character.valueOf('\uc8c8')); + charS.add(Character.valueOf('\uc8c9')); + charS.add(Character.valueOf('\uc8ca')); + charS.add(Character.valueOf('\uc8cb')); + charS.add(Character.valueOf('\uc8cc')); + charS.add(Character.valueOf('\uc8cd')); + charS.add(Character.valueOf('\uc8ce')); + charS.add(Character.valueOf('\uc8cf')); + charS.add(Character.valueOf('\uc8d0')); + charS.add(Character.valueOf('\uc8d1')); + charS.add(Character.valueOf('\uc8d2')); + charS.add(Character.valueOf('\uc8d3')); + charS.add(Character.valueOf('\uc8d4')); + charS.add(Character.valueOf('\uc8d5')); + charS.add(Character.valueOf('\uc8d6')); + charS.add(Character.valueOf('\uc8d7')); + charS.add(Character.valueOf('\uc8d8')); + charS.add(Character.valueOf('\uc8d9')); + charS.add(Character.valueOf('\uc8da')); + charS.add(Character.valueOf('\uc8db')); + charS.add(Character.valueOf('\uc8dc')); + charS.add(Character.valueOf('\uc8dd')); + charS.add(Character.valueOf('\uc8de')); + charS.add(Character.valueOf('\uc8df')); + charS.add(Character.valueOf('\uc8e0')); + charS.add(Character.valueOf('\uc8e1')); + charS.add(Character.valueOf('\uc8e2')); + charS.add(Character.valueOf('\uc8e3')); + charS.add(Character.valueOf('\uc8e4')); + charS.add(Character.valueOf('\uc8e5')); + charS.add(Character.valueOf('\uc8e6')); + charS.add(Character.valueOf('\uc8e7')); + charS.add(Character.valueOf('\uc8e8')); + charS.add(Character.valueOf('\uc8e9')); + charS.add(Character.valueOf('\uc8ea')); + charS.add(Character.valueOf('\uc8eb')); + charS.add(Character.valueOf('\uc8ec')); + charS.add(Character.valueOf('\uc8ed')); + charS.add(Character.valueOf('\uc8ee')); + charS.add(Character.valueOf('\uc8ef')); + charS.add(Character.valueOf('\uc8f0')); + charS.add(Character.valueOf('\uc8f1')); + charS.add(Character.valueOf('\uc8f2')); + charS.add(Character.valueOf('\uc8f3')); + charS.add(Character.valueOf('\uc8f4')); + charS.add(Character.valueOf('\uc8f5')); + charS.add(Character.valueOf('\uc8f6')); + charS.add(Character.valueOf('\uc8f7')); + charS.add(Character.valueOf('\uc8f8')); + charS.add(Character.valueOf('\uc8f9')); + charS.add(Character.valueOf('\uc8fa')); + charS.add(Character.valueOf('\uc8fb')); + charS.add(Character.valueOf('\uc8fc')); + charS.add(Character.valueOf('\uc8fd')); + charS.add(Character.valueOf('\uc8fe')); + charS.add(Character.valueOf('\uc8ff')); + charS.add(Character.valueOf('\uc900')); + charS.add(Character.valueOf('\uc901')); + charS.add(Character.valueOf('\uc902')); + charS.add(Character.valueOf('\uc903')); + charS.add(Character.valueOf('\uc904')); + charS.add(Character.valueOf('\uc905')); + charS.add(Character.valueOf('\uc906')); + charS.add(Character.valueOf('\uc907')); + charS.add(Character.valueOf('\uc908')); + charS.add(Character.valueOf('\uc909')); + charS.add(Character.valueOf('\uc90a')); + charS.add(Character.valueOf('\uc90b')); + charS.add(Character.valueOf('\uc90c')); + charS.add(Character.valueOf('\uc90d')); + charS.add(Character.valueOf('\uc90e')); + charS.add(Character.valueOf('\uc90f')); + charS.add(Character.valueOf('\uc910')); + charS.add(Character.valueOf('\uc911')); + charS.add(Character.valueOf('\uc912')); + charS.add(Character.valueOf('\uc913')); + charS.add(Character.valueOf('\uc914')); + charS.add(Character.valueOf('\uc915')); + charS.add(Character.valueOf('\uc916')); + charS.add(Character.valueOf('\uc917')); + charS.add(Character.valueOf('\uc918')); + charS.add(Character.valueOf('\uc919')); + charS.add(Character.valueOf('\uc91a')); + charS.add(Character.valueOf('\uc91b')); + charS.add(Character.valueOf('\uc91c')); + charS.add(Character.valueOf('\uc91d')); + charS.add(Character.valueOf('\uc91e')); + charS.add(Character.valueOf('\uc91f')); + charS.add(Character.valueOf('\uc920')); + charS.add(Character.valueOf('\uc921')); + charS.add(Character.valueOf('\uc922')); + charS.add(Character.valueOf('\uc923')); + charS.add(Character.valueOf('\uc924')); + charS.add(Character.valueOf('\uc925')); + charS.add(Character.valueOf('\uc926')); + charS.add(Character.valueOf('\uc927')); + charS.add(Character.valueOf('\uc928')); + charS.add(Character.valueOf('\uc929')); + charS.add(Character.valueOf('\uc92a')); + charS.add(Character.valueOf('\uc92b')); + charS.add(Character.valueOf('\uc92c')); + charS.add(Character.valueOf('\uc92d')); + charS.add(Character.valueOf('\uc92e')); + charS.add(Character.valueOf('\uc92f')); + charS.add(Character.valueOf('\uc930')); + charS.add(Character.valueOf('\uc931')); + charS.add(Character.valueOf('\uc932')); + charS.add(Character.valueOf('\uc933')); + charS.add(Character.valueOf('\uc934')); + charS.add(Character.valueOf('\uc935')); + charS.add(Character.valueOf('\uc936')); + charS.add(Character.valueOf('\uc937')); + charS.add(Character.valueOf('\uc938')); + charS.add(Character.valueOf('\uc939')); + charS.add(Character.valueOf('\uc93a')); + charS.add(Character.valueOf('\uc93b')); + charS.add(Character.valueOf('\uc93c')); + charS.add(Character.valueOf('\uc93d')); + charS.add(Character.valueOf('\uc93e')); + charS.add(Character.valueOf('\uc93f')); + charS.add(Character.valueOf('\uc940')); + charS.add(Character.valueOf('\uc941')); + charS.add(Character.valueOf('\uc942')); + charS.add(Character.valueOf('\uc943')); + charS.add(Character.valueOf('\uc944')); + charS.add(Character.valueOf('\uc945')); + charS.add(Character.valueOf('\uc946')); + charS.add(Character.valueOf('\uc947')); + charS.add(Character.valueOf('\uc948')); + charS.add(Character.valueOf('\uc949')); + charS.add(Character.valueOf('\uc94a')); + charS.add(Character.valueOf('\uc94b')); + charS.add(Character.valueOf('\uc94c')); + charS.add(Character.valueOf('\uc94d')); + charS.add(Character.valueOf('\uc94e')); + charS.add(Character.valueOf('\uc94f')); + charS.add(Character.valueOf('\uc950')); + charS.add(Character.valueOf('\uc951')); + charS.add(Character.valueOf('\uc952')); + charS.add(Character.valueOf('\uc953')); + charS.add(Character.valueOf('\uc954')); + charS.add(Character.valueOf('\uc955')); + charS.add(Character.valueOf('\uc956')); + charS.add(Character.valueOf('\uc957')); + charS.add(Character.valueOf('\uc958')); + charS.add(Character.valueOf('\uc959')); + charS.add(Character.valueOf('\uc95a')); + charS.add(Character.valueOf('\uc95b')); + charS.add(Character.valueOf('\uc95c')); + charS.add(Character.valueOf('\uc95d')); + charS.add(Character.valueOf('\uc95e')); + charS.add(Character.valueOf('\uc95f')); + charS.add(Character.valueOf('\uc960')); + charS.add(Character.valueOf('\uc961')); + charS.add(Character.valueOf('\uc962')); + charS.add(Character.valueOf('\uc963')); + charS.add(Character.valueOf('\uc964')); + charS.add(Character.valueOf('\uc965')); + charS.add(Character.valueOf('\uc966')); + charS.add(Character.valueOf('\uc967')); + charS.add(Character.valueOf('\uc968')); + charS.add(Character.valueOf('\uc969')); + charS.add(Character.valueOf('\uc96a')); + charS.add(Character.valueOf('\uc96b')); + charS.add(Character.valueOf('\uc96c')); + charS.add(Character.valueOf('\uc96d')); + charS.add(Character.valueOf('\uc96e')); + charS.add(Character.valueOf('\uc96f')); + charS.add(Character.valueOf('\uc970')); + charS.add(Character.valueOf('\uc971')); + charS.add(Character.valueOf('\uc972')); + charS.add(Character.valueOf('\uc973')); + charS.add(Character.valueOf('\uc974')); + charS.add(Character.valueOf('\uc975')); + charS.add(Character.valueOf('\uc976')); + charS.add(Character.valueOf('\uc977')); + charS.add(Character.valueOf('\uc978')); + charS.add(Character.valueOf('\uc979')); + charS.add(Character.valueOf('\uc97a')); + charS.add(Character.valueOf('\uc97b')); + charS.add(Character.valueOf('\uc97c')); + charS.add(Character.valueOf('\uc97d')); + charS.add(Character.valueOf('\uc97e')); + charS.add(Character.valueOf('\uc97f')); + charS.add(Character.valueOf('\uc980')); + charS.add(Character.valueOf('\uc981')); + charS.add(Character.valueOf('\uc982')); + charS.add(Character.valueOf('\uc983')); + charS.add(Character.valueOf('\uc984')); + charS.add(Character.valueOf('\uc985')); + charS.add(Character.valueOf('\uc986')); + charS.add(Character.valueOf('\uc987')); + charS.add(Character.valueOf('\uc988')); + charS.add(Character.valueOf('\uc989')); + charS.add(Character.valueOf('\uc98a')); + charS.add(Character.valueOf('\uc98b')); + charS.add(Character.valueOf('\uc98c')); + charS.add(Character.valueOf('\uc98d')); + charS.add(Character.valueOf('\uc98e')); + charS.add(Character.valueOf('\uc98f')); + charS.add(Character.valueOf('\uc990')); + charS.add(Character.valueOf('\uc991')); + charS.add(Character.valueOf('\uc992')); + charS.add(Character.valueOf('\uc993')); + charS.add(Character.valueOf('\uc994')); + charS.add(Character.valueOf('\uc995')); + charS.add(Character.valueOf('\uc996')); + charS.add(Character.valueOf('\uc997')); + charS.add(Character.valueOf('\uc998')); + charS.add(Character.valueOf('\uc999')); + charS.add(Character.valueOf('\uc99a')); + charS.add(Character.valueOf('\uc99b')); + charS.add(Character.valueOf('\uc99c')); + charS.add(Character.valueOf('\uc99d')); + charS.add(Character.valueOf('\uc99e')); + charS.add(Character.valueOf('\uc99f')); + charS.add(Character.valueOf('\uc9a0')); + charS.add(Character.valueOf('\uc9a1')); + charS.add(Character.valueOf('\uc9a2')); + charS.add(Character.valueOf('\uc9a3')); + charS.add(Character.valueOf('\uc9a4')); + charS.add(Character.valueOf('\uc9a5')); + charS.add(Character.valueOf('\uc9a6')); + charS.add(Character.valueOf('\uc9a7')); + charS.add(Character.valueOf('\uc9a8')); + charS.add(Character.valueOf('\uc9a9')); + charS.add(Character.valueOf('\uc9aa')); + charS.add(Character.valueOf('\uc9ab')); + charS.add(Character.valueOf('\uc9ac')); + charS.add(Character.valueOf('\uc9ad')); + charS.add(Character.valueOf('\uc9ae')); + charS.add(Character.valueOf('\uc9af')); + charS.add(Character.valueOf('\uc9b0')); + charS.add(Character.valueOf('\uc9b1')); + charS.add(Character.valueOf('\uc9b2')); + charS.add(Character.valueOf('\uc9b3')); + charS.add(Character.valueOf('\uc9b4')); + charS.add(Character.valueOf('\uc9b5')); + charS.add(Character.valueOf('\uc9b6')); + charS.add(Character.valueOf('\uc9b7')); + charS.add(Character.valueOf('\uc9b8')); + charS.add(Character.valueOf('\uc9b9')); + charS.add(Character.valueOf('\uc9ba')); + charS.add(Character.valueOf('\uc9bb')); + charS.add(Character.valueOf('\uc9bc')); + charS.add(Character.valueOf('\uc93d')); + charS.add(Character.valueOf('\uc9be')); + charS.add(Character.valueOf('\uc9bf')); + charS.add(Character.valueOf('\uc9c0')); + charS.add(Character.valueOf('\uc9c1')); + charS.add(Character.valueOf('\uc9c2')); + charS.add(Character.valueOf('\uc9c3')); + charS.add(Character.valueOf('\uc9c4')); + charS.add(Character.valueOf('\uc9c5')); + charS.add(Character.valueOf('\uc9c6')); + charS.add(Character.valueOf('\uc9c7')); + charS.add(Character.valueOf('\uc9c8')); + charS.add(Character.valueOf('\uc9c9')); + charS.add(Character.valueOf('\uc9ca')); + charS.add(Character.valueOf('\uc9cb')); + charS.add(Character.valueOf('\uc9cc')); + charS.add(Character.valueOf('\uc9cd')); + charS.add(Character.valueOf('\uc9ce')); + charS.add(Character.valueOf('\uc9cf')); + charS.add(Character.valueOf('\uc9d0')); + charS.add(Character.valueOf('\uc9d1')); + charS.add(Character.valueOf('\uc9d2')); + charS.add(Character.valueOf('\uc9d3')); + charS.add(Character.valueOf('\uc9d4')); + charS.add(Character.valueOf('\uc9d5')); + charS.add(Character.valueOf('\uc9d6')); + charS.add(Character.valueOf('\uc9d7')); + charS.add(Character.valueOf('\uc9d8')); + charS.add(Character.valueOf('\uc9d9')); + charS.add(Character.valueOf('\uc9da')); + charS.add(Character.valueOf('\uc9db')); + charS.add(Character.valueOf('\uc9dc')); + charS.add(Character.valueOf('\uc9dd')); + charS.add(Character.valueOf('\uc9de')); + charS.add(Character.valueOf('\uc9df')); + charS.add(Character.valueOf('\uc9e0')); + charS.add(Character.valueOf('\uc9e1')); + charS.add(Character.valueOf('\uc9e2')); + charS.add(Character.valueOf('\uc9e3')); + charS.add(Character.valueOf('\uc9e4')); + charS.add(Character.valueOf('\uc9e5')); + charS.add(Character.valueOf('\uc9e6')); + charS.add(Character.valueOf('\uc9e7')); + charS.add(Character.valueOf('\uc9e8')); + charS.add(Character.valueOf('\uc9e9')); + charS.add(Character.valueOf('\uc9ea')); + charS.add(Character.valueOf('\uc9eb')); + charS.add(Character.valueOf('\uc9ec')); + charS.add(Character.valueOf('\uc9ed')); + charS.add(Character.valueOf('\uc9ee')); + charS.add(Character.valueOf('\uc9ef')); + charS.add(Character.valueOf('\uc9f0')); + charS.add(Character.valueOf('\uc9f1')); + charS.add(Character.valueOf('\uc9f2')); + charS.add(Character.valueOf('\uc9f3')); + charS.add(Character.valueOf('\uc9f4')); + charS.add(Character.valueOf('\uc9f5')); + charS.add(Character.valueOf('\uc9f6')); + charS.add(Character.valueOf('\uc9f7')); + charS.add(Character.valueOf('\uc9f8')); + charS.add(Character.valueOf('\uc9f9')); + charS.add(Character.valueOf('\uc9fa')); + charS.add(Character.valueOf('\uc9fb')); + charS.add(Character.valueOf('\uc9fc')); + charS.add(Character.valueOf('\uc9fd')); + charS.add(Character.valueOf('\uc9fe')); + charS.add(Character.valueOf('\uc9ff')); + charS.add(Character.valueOf('\uca00')); + charS.add(Character.valueOf('\uca01')); + charS.add(Character.valueOf('\uca02')); + charS.add(Character.valueOf('\uca03')); + charS.add(Character.valueOf('\uca04')); + charS.add(Character.valueOf('\uca05')); + charS.add(Character.valueOf('\uca06')); + charS.add(Character.valueOf('\uca07')); + charS.add(Character.valueOf('\uca08')); + charS.add(Character.valueOf('\uca09')); + charS.add(Character.valueOf('\uca0a')); + charS.add(Character.valueOf('\uca0b')); + charS.add(Character.valueOf('\uca0c')); + charS.add(Character.valueOf('\uca0d')); + charS.add(Character.valueOf('\uca0e')); + charS.add(Character.valueOf('\uca0f')); + charS.add(Character.valueOf('\uca10')); + charS.add(Character.valueOf('\uca11')); + charS.add(Character.valueOf('\uca12')); + charS.add(Character.valueOf('\uca13')); + charS.add(Character.valueOf('\uca14')); + charS.add(Character.valueOf('\uca15')); + charS.add(Character.valueOf('\uca16')); + charS.add(Character.valueOf('\uca17')); + charS.add(Character.valueOf('\uca18')); + charS.add(Character.valueOf('\uca19')); + charS.add(Character.valueOf('\uca1a')); + charS.add(Character.valueOf('\uca1b')); + charS.add(Character.valueOf('\uca1c')); + charS.add(Character.valueOf('\uca1d')); + charS.add(Character.valueOf('\uca1e')); + charS.add(Character.valueOf('\uca1f')); + charS.add(Character.valueOf('\uca20')); + charS.add(Character.valueOf('\uca21')); + charS.add(Character.valueOf('\uca22')); + charS.add(Character.valueOf('\uca23')); + charS.add(Character.valueOf('\uca24')); + charS.add(Character.valueOf('\uca25')); + charS.add(Character.valueOf('\uca26')); + charS.add(Character.valueOf('\uca27')); + charS.add(Character.valueOf('\uca28')); + charS.add(Character.valueOf('\uca29')); + charS.add(Character.valueOf('\uca2a')); + charS.add(Character.valueOf('\uca2b')); + charS.add(Character.valueOf('\uca2c')); + charS.add(Character.valueOf('\uca2d')); + charS.add(Character.valueOf('\uca2e')); + charS.add(Character.valueOf('\uca2f')); + charS.add(Character.valueOf('\uca30')); + charS.add(Character.valueOf('\uca31')); + charS.add(Character.valueOf('\uca32')); + charS.add(Character.valueOf('\uca33')); + charS.add(Character.valueOf('\uca34')); + charS.add(Character.valueOf('\uca35')); + charS.add(Character.valueOf('\uca36')); + charS.add(Character.valueOf('\uca37')); + charS.add(Character.valueOf('\uca38')); + charS.add(Character.valueOf('\uca39')); + charS.add(Character.valueOf('\uca3a')); + charS.add(Character.valueOf('\uca3b')); + charS.add(Character.valueOf('\uca3c')); + charS.add(Character.valueOf('\uca3d')); + charS.add(Character.valueOf('\uca3e')); + charS.add(Character.valueOf('\uca3f')); + charS.add(Character.valueOf('\uca40')); + charS.add(Character.valueOf('\uca41')); + charS.add(Character.valueOf('\uca42')); + charS.add(Character.valueOf('\uca43')); + charS.add(Character.valueOf('\uca44')); + charS.add(Character.valueOf('\uca45')); + charS.add(Character.valueOf('\uca46')); + charS.add(Character.valueOf('\uca47')); + charS.add(Character.valueOf('\uca48')); + charS.add(Character.valueOf('\uca49')); + charS.add(Character.valueOf('\uca4a')); + charS.add(Character.valueOf('\uca4b')); + charS.add(Character.valueOf('\uca4c')); + charS.add(Character.valueOf('\uca4d')); + charS.add(Character.valueOf('\uca4e')); + charS.add(Character.valueOf('\uca4f')); + charS.add(Character.valueOf('\uca50')); + charS.add(Character.valueOf('\uca51')); + charS.add(Character.valueOf('\uca52')); + charS.add(Character.valueOf('\uca53')); + charS.add(Character.valueOf('\uca54')); + charS.add(Character.valueOf('\uca55')); + charS.add(Character.valueOf('\uca56')); + charS.add(Character.valueOf('\uca57')); + charS.add(Character.valueOf('\uca58')); + charS.add(Character.valueOf('\uca59')); + charS.add(Character.valueOf('\uca5a')); + charS.add(Character.valueOf('\uca5b')); + charS.add(Character.valueOf('\uca5c')); + charS.add(Character.valueOf('\uca5d')); + charS.add(Character.valueOf('\uca5e')); + charS.add(Character.valueOf('\uca5f')); + charS.add(Character.valueOf('\uca60')); + charS.add(Character.valueOf('\uca61')); + charS.add(Character.valueOf('\uca62')); + charS.add(Character.valueOf('\uca63')); + charS.add(Character.valueOf('\uca64')); + charS.add(Character.valueOf('\uca65')); + charS.add(Character.valueOf('\uca66')); + charS.add(Character.valueOf('\uca67')); + charS.add(Character.valueOf('\uca68')); + charS.add(Character.valueOf('\uca69')); + charS.add(Character.valueOf('\uca6a')); + charS.add(Character.valueOf('\uca6b')); + charS.add(Character.valueOf('\uca6c')); + charS.add(Character.valueOf('\uca6d')); + charS.add(Character.valueOf('\uca6e')); + charS.add(Character.valueOf('\uca6f')); + charS.add(Character.valueOf('\uca70')); + charS.add(Character.valueOf('\uca71')); + charS.add(Character.valueOf('\uca72')); + charS.add(Character.valueOf('\uca73')); + charS.add(Character.valueOf('\uca74')); + charS.add(Character.valueOf('\uca75')); + charS.add(Character.valueOf('\uca76')); + charS.add(Character.valueOf('\uca77')); + charS.add(Character.valueOf('\uca78')); + charS.add(Character.valueOf('\uca79')); + charS.add(Character.valueOf('\uca7a')); + charS.add(Character.valueOf('\uca7b')); + charS.add(Character.valueOf('\uca7c')); + charS.add(Character.valueOf('\uca7d')); + charS.add(Character.valueOf('\uca7e')); + charS.add(Character.valueOf('\uca7f')); + charS.add(Character.valueOf('\uca80')); + charS.add(Character.valueOf('\uca81')); + charS.add(Character.valueOf('\uca82')); + charS.add(Character.valueOf('\uca83')); + charS.add(Character.valueOf('\uca84')); + charS.add(Character.valueOf('\uca85')); + charS.add(Character.valueOf('\uca86')); + charS.add(Character.valueOf('\uca87')); + charS.add(Character.valueOf('\uca88')); + charS.add(Character.valueOf('\uca89')); + charS.add(Character.valueOf('\uca8a')); + charS.add(Character.valueOf('\uca8b')); + charS.add(Character.valueOf('\uca8c')); + charS.add(Character.valueOf('\uca8d')); + charS.add(Character.valueOf('\uca8e')); + charS.add(Character.valueOf('\uca8f')); + charS.add(Character.valueOf('\uca90')); + charS.add(Character.valueOf('\uca91')); + charS.add(Character.valueOf('\uca92')); + charS.add(Character.valueOf('\uca93')); + charS.add(Character.valueOf('\uca94')); + charS.add(Character.valueOf('\uca95')); + charS.add(Character.valueOf('\uca96')); + charS.add(Character.valueOf('\uca97')); + charS.add(Character.valueOf('\uca98')); + charS.add(Character.valueOf('\uca99')); + charS.add(Character.valueOf('\uca9a')); + charS.add(Character.valueOf('\uca9b')); + charS.add(Character.valueOf('\uca9c')); + charS.add(Character.valueOf('\uca9d')); + charS.add(Character.valueOf('\uca9e')); + charS.add(Character.valueOf('\uca9f')); + charS.add(Character.valueOf('\ucaa0')); + charS.add(Character.valueOf('\ucaa1')); + charS.add(Character.valueOf('\ucaa2')); + charS.add(Character.valueOf('\ucaa3')); + charS.add(Character.valueOf('\ucaa4')); + charS.add(Character.valueOf('\ucaa5')); + charS.add(Character.valueOf('\ucaa6')); + charS.add(Character.valueOf('\ucaa7')); + charS.add(Character.valueOf('\ucaa8')); + charS.add(Character.valueOf('\ucaa9')); + charS.add(Character.valueOf('\ucaaa')); + charS.add(Character.valueOf('\ucaab')); + charS.add(Character.valueOf('\ucaac')); + charS.add(Character.valueOf('\ucaad')); + charS.add(Character.valueOf('\ucaae')); + charS.add(Character.valueOf('\ucaaf')); + charS.add(Character.valueOf('\ucab0')); + charS.add(Character.valueOf('\ucab1')); + charS.add(Character.valueOf('\ucab2')); + charS.add(Character.valueOf('\ucab3')); + charS.add(Character.valueOf('\ucab4')); + charS.add(Character.valueOf('\ucab5')); + charS.add(Character.valueOf('\ucab6')); + charS.add(Character.valueOf('\ucab7')); + charS.add(Character.valueOf('\ucab8')); + charS.add(Character.valueOf('\ucab9')); + charS.add(Character.valueOf('\ucaba')); + charS.add(Character.valueOf('\ucabb')); + charS.add(Character.valueOf('\ucabc')); + charS.add(Character.valueOf('\uca3d')); + charS.add(Character.valueOf('\ucabe')); + charS.add(Character.valueOf('\ucabf')); + charS.add(Character.valueOf('\ucac0')); + charS.add(Character.valueOf('\ucac1')); + charS.add(Character.valueOf('\ucac2')); + charS.add(Character.valueOf('\ucac3')); + charS.add(Character.valueOf('\ucac4')); + charS.add(Character.valueOf('\ucac5')); + charS.add(Character.valueOf('\ucac6')); + charS.add(Character.valueOf('\ucac7')); + charS.add(Character.valueOf('\ucac8')); + charS.add(Character.valueOf('\ucac9')); + charS.add(Character.valueOf('\ucaca')); + charS.add(Character.valueOf('\ucacb')); + charS.add(Character.valueOf('\ucacc')); + charS.add(Character.valueOf('\ucacd')); + charS.add(Character.valueOf('\ucace')); + charS.add(Character.valueOf('\ucacf')); + charS.add(Character.valueOf('\ucad0')); + charS.add(Character.valueOf('\ucad1')); + charS.add(Character.valueOf('\ucad2')); + charS.add(Character.valueOf('\ucad3')); + charS.add(Character.valueOf('\ucad4')); + charS.add(Character.valueOf('\ucad5')); + charS.add(Character.valueOf('\ucad6')); + charS.add(Character.valueOf('\ucad7')); + charS.add(Character.valueOf('\ucad8')); + charS.add(Character.valueOf('\ucad9')); + charS.add(Character.valueOf('\ucada')); + charS.add(Character.valueOf('\ucadb')); + charS.add(Character.valueOf('\ucadc')); + charS.add(Character.valueOf('\ucadd')); + charS.add(Character.valueOf('\ucade')); + charS.add(Character.valueOf('\ucadf')); + charS.add(Character.valueOf('\ucae0')); + charS.add(Character.valueOf('\ucae1')); + charS.add(Character.valueOf('\ucae2')); + charS.add(Character.valueOf('\ucae3')); + charS.add(Character.valueOf('\ucae4')); + charS.add(Character.valueOf('\ucae5')); + charS.add(Character.valueOf('\ucae6')); + charS.add(Character.valueOf('\ucae7')); + charS.add(Character.valueOf('\ucae8')); + charS.add(Character.valueOf('\ucae9')); + charS.add(Character.valueOf('\ucaea')); + charS.add(Character.valueOf('\ucaeb')); + charS.add(Character.valueOf('\ucaec')); + charS.add(Character.valueOf('\ucaed')); + charS.add(Character.valueOf('\ucaee')); + charS.add(Character.valueOf('\ucaef')); + charS.add(Character.valueOf('\ucaf0')); + charS.add(Character.valueOf('\ucaf1')); + charS.add(Character.valueOf('\ucaf2')); + charS.add(Character.valueOf('\ucaf3')); + charS.add(Character.valueOf('\ucaf4')); + charS.add(Character.valueOf('\ucaf5')); + charS.add(Character.valueOf('\ucaf6')); + charS.add(Character.valueOf('\ucaf7')); + charS.add(Character.valueOf('\ucaf8')); + charS.add(Character.valueOf('\ucaf9')); + charS.add(Character.valueOf('\ucafa')); + charS.add(Character.valueOf('\ucafb')); + charS.add(Character.valueOf('\ucafc')); + charS.add(Character.valueOf('\ucafd')); + charS.add(Character.valueOf('\ucafe')); + charS.add(Character.valueOf('\ucaff')); + charS.add(Character.valueOf('\ucb00')); + charS.add(Character.valueOf('\ucb01')); + charS.add(Character.valueOf('\ucb02')); + charS.add(Character.valueOf('\ucb03')); + charS.add(Character.valueOf('\ucb04')); + charS.add(Character.valueOf('\ucb05')); + charS.add(Character.valueOf('\ucb06')); + charS.add(Character.valueOf('\ucb07')); + charS.add(Character.valueOf('\ucb08')); + charS.add(Character.valueOf('\ucb09')); + charS.add(Character.valueOf('\ucb0a')); + charS.add(Character.valueOf('\ucb0b')); + charS.add(Character.valueOf('\ucb0c')); + charS.add(Character.valueOf('\ucb0d')); + charS.add(Character.valueOf('\ucb0e')); + charS.add(Character.valueOf('\ucb0f')); + charS.add(Character.valueOf('\ucb10')); + charS.add(Character.valueOf('\ucb11')); + charS.add(Character.valueOf('\ucb12')); + charS.add(Character.valueOf('\ucb13')); + charS.add(Character.valueOf('\ucb14')); + charS.add(Character.valueOf('\ucb15')); + charS.add(Character.valueOf('\ucb16')); + charS.add(Character.valueOf('\ucb17')); + charS.add(Character.valueOf('\ucb18')); + charS.add(Character.valueOf('\ucb19')); + charS.add(Character.valueOf('\ucb1a')); + charS.add(Character.valueOf('\ucb1b')); + charS.add(Character.valueOf('\ucb1c')); + charS.add(Character.valueOf('\ucb1d')); + charS.add(Character.valueOf('\ucb1e')); + charS.add(Character.valueOf('\ucb1f')); + charS.add(Character.valueOf('\ucb20')); + charS.add(Character.valueOf('\ucb21')); + charS.add(Character.valueOf('\ucb22')); + charS.add(Character.valueOf('\ucb23')); + charS.add(Character.valueOf('\ucb24')); + charS.add(Character.valueOf('\ucb25')); + charS.add(Character.valueOf('\ucb26')); + charS.add(Character.valueOf('\ucb27')); + charS.add(Character.valueOf('\ucb28')); + charS.add(Character.valueOf('\ucb29')); + charS.add(Character.valueOf('\ucb2a')); + charS.add(Character.valueOf('\ucb2b')); + charS.add(Character.valueOf('\ucb2c')); + charS.add(Character.valueOf('\ucb2d')); + charS.add(Character.valueOf('\ucb2e')); + charS.add(Character.valueOf('\ucb2f')); + charS.add(Character.valueOf('\ucb30')); + charS.add(Character.valueOf('\ucb31')); + charS.add(Character.valueOf('\ucb32')); + charS.add(Character.valueOf('\ucb33')); + charS.add(Character.valueOf('\ucb34')); + charS.add(Character.valueOf('\ucb35')); + charS.add(Character.valueOf('\ucb36')); + charS.add(Character.valueOf('\ucb37')); + charS.add(Character.valueOf('\ucb38')); + charS.add(Character.valueOf('\ucb39')); + charS.add(Character.valueOf('\ucb3a')); + charS.add(Character.valueOf('\ucb3b')); + charS.add(Character.valueOf('\ucb3c')); + charS.add(Character.valueOf('\ucb3d')); + charS.add(Character.valueOf('\ucb3e')); + charS.add(Character.valueOf('\ucb3f')); + charS.add(Character.valueOf('\ucb40')); + charS.add(Character.valueOf('\ucb41')); + charS.add(Character.valueOf('\ucb42')); + charS.add(Character.valueOf('\ucb43')); + charS.add(Character.valueOf('\ucb44')); + charS.add(Character.valueOf('\ucb45')); + charS.add(Character.valueOf('\ucb46')); + charS.add(Character.valueOf('\ucb47')); + charS.add(Character.valueOf('\ucb48')); + charS.add(Character.valueOf('\ucb49')); + charS.add(Character.valueOf('\ucb4a')); + charS.add(Character.valueOf('\ucb4b')); + charS.add(Character.valueOf('\ucb4c')); + charS.add(Character.valueOf('\ucb4d')); + charS.add(Character.valueOf('\ucb4e')); + charS.add(Character.valueOf('\ucb4f')); + charS.add(Character.valueOf('\ucb50')); + charS.add(Character.valueOf('\ucb51')); + charS.add(Character.valueOf('\ucb52')); + charS.add(Character.valueOf('\ucb53')); + charS.add(Character.valueOf('\ucb54')); + charS.add(Character.valueOf('\ucb55')); + charS.add(Character.valueOf('\ucb56')); + charS.add(Character.valueOf('\ucb57')); + charS.add(Character.valueOf('\ucb58')); + charS.add(Character.valueOf('\ucb59')); + charS.add(Character.valueOf('\ucb5a')); + charS.add(Character.valueOf('\ucb5b')); + charS.add(Character.valueOf('\ucb5c')); + charS.add(Character.valueOf('\ucb5d')); + charS.add(Character.valueOf('\ucb5e')); + charS.add(Character.valueOf('\ucb5f')); + charS.add(Character.valueOf('\ucb60')); + charS.add(Character.valueOf('\ucb61')); + charS.add(Character.valueOf('\ucb62')); + charS.add(Character.valueOf('\ucb63')); + charS.add(Character.valueOf('\ucb64')); + charS.add(Character.valueOf('\ucb65')); + charS.add(Character.valueOf('\ucb66')); + charS.add(Character.valueOf('\ucb67')); + charS.add(Character.valueOf('\ucb68')); + charS.add(Character.valueOf('\ucb69')); + charS.add(Character.valueOf('\ucb6a')); + charS.add(Character.valueOf('\ucb6b')); + charS.add(Character.valueOf('\ucb6c')); + charS.add(Character.valueOf('\ucb6d')); + charS.add(Character.valueOf('\ucb6e')); + charS.add(Character.valueOf('\ucb6f')); + charS.add(Character.valueOf('\ucb70')); + charS.add(Character.valueOf('\ucb71')); + charS.add(Character.valueOf('\ucb72')); + charS.add(Character.valueOf('\ucb73')); + charS.add(Character.valueOf('\ucb74')); + charS.add(Character.valueOf('\ucb75')); + charS.add(Character.valueOf('\ucb76')); + charS.add(Character.valueOf('\ucb77')); + charS.add(Character.valueOf('\ucb78')); + charS.add(Character.valueOf('\ucb79')); + charS.add(Character.valueOf('\ucb7a')); + charS.add(Character.valueOf('\ucb7b')); + charS.add(Character.valueOf('\ucb7c')); + charS.add(Character.valueOf('\ucb7d')); + charS.add(Character.valueOf('\ucb7e')); + charS.add(Character.valueOf('\ucb7f')); + charS.add(Character.valueOf('\ucb80')); + charS.add(Character.valueOf('\ucb81')); + charS.add(Character.valueOf('\ucb82')); + charS.add(Character.valueOf('\ucb83')); + charS.add(Character.valueOf('\ucb84')); + charS.add(Character.valueOf('\ucb85')); + charS.add(Character.valueOf('\ucb86')); + charS.add(Character.valueOf('\ucb87')); + charS.add(Character.valueOf('\ucb88')); + charS.add(Character.valueOf('\ucb89')); + charS.add(Character.valueOf('\ucb8a')); + charS.add(Character.valueOf('\ucb8b')); + charS.add(Character.valueOf('\ucb8c')); + charS.add(Character.valueOf('\ucb8d')); + charS.add(Character.valueOf('\ucb8e')); + charS.add(Character.valueOf('\ucb8f')); + charS.add(Character.valueOf('\ucb90')); + charS.add(Character.valueOf('\ucb91')); + charS.add(Character.valueOf('\ucb92')); + charS.add(Character.valueOf('\ucb93')); + charS.add(Character.valueOf('\ucb94')); + charS.add(Character.valueOf('\ucb95')); + charS.add(Character.valueOf('\ucb96')); + charS.add(Character.valueOf('\ucb97')); + charS.add(Character.valueOf('\ucb98')); + charS.add(Character.valueOf('\ucb99')); + charS.add(Character.valueOf('\ucb9a')); + charS.add(Character.valueOf('\ucb9b')); + charS.add(Character.valueOf('\ucb9c')); + charS.add(Character.valueOf('\ucb9d')); + charS.add(Character.valueOf('\ucb9e')); + charS.add(Character.valueOf('\ucb9f')); + charS.add(Character.valueOf('\ucba0')); + charS.add(Character.valueOf('\ucba1')); + charS.add(Character.valueOf('\ucba2')); + charS.add(Character.valueOf('\ucba3')); + charS.add(Character.valueOf('\ucba4')); + charS.add(Character.valueOf('\ucba5')); + charS.add(Character.valueOf('\ucba6')); + charS.add(Character.valueOf('\ucba7')); + charS.add(Character.valueOf('\ucba8')); + charS.add(Character.valueOf('\ucba9')); + charS.add(Character.valueOf('\ucbaa')); + charS.add(Character.valueOf('\ucbab')); + charS.add(Character.valueOf('\ucbac')); + charS.add(Character.valueOf('\ucbad')); + charS.add(Character.valueOf('\ucbae')); + charS.add(Character.valueOf('\ucbaf')); + charS.add(Character.valueOf('\ucbb0')); + charS.add(Character.valueOf('\ucbb1')); + charS.add(Character.valueOf('\ucbb2')); + charS.add(Character.valueOf('\ucbb3')); + charS.add(Character.valueOf('\ucbb4')); + charS.add(Character.valueOf('\ucbb5')); + charS.add(Character.valueOf('\ucbb6')); + charS.add(Character.valueOf('\ucbb7')); + charS.add(Character.valueOf('\ucbb8')); + charS.add(Character.valueOf('\ucbb9')); + charS.add(Character.valueOf('\ucbba')); + charS.add(Character.valueOf('\ucbbb')); + charS.add(Character.valueOf('\ucbbc')); + charS.add(Character.valueOf('\ucb3d')); + charS.add(Character.valueOf('\ucbbe')); + charS.add(Character.valueOf('\ucbbf')); + charS.add(Character.valueOf('\ucbc0')); + charS.add(Character.valueOf('\ucbc1')); + charS.add(Character.valueOf('\ucbc2')); + charS.add(Character.valueOf('\ucbc3')); + charS.add(Character.valueOf('\ucbc4')); + charS.add(Character.valueOf('\ucbc5')); + charS.add(Character.valueOf('\ucbc6')); + charS.add(Character.valueOf('\ucbc7')); + charS.add(Character.valueOf('\ucbc8')); + charS.add(Character.valueOf('\ucbc9')); + charS.add(Character.valueOf('\ucbca')); + charS.add(Character.valueOf('\ucbcb')); + charS.add(Character.valueOf('\ucbcc')); + charS.add(Character.valueOf('\ucbcd')); + charS.add(Character.valueOf('\ucbce')); + charS.add(Character.valueOf('\ucbcf')); + charS.add(Character.valueOf('\ucbd0')); + charS.add(Character.valueOf('\ucbd1')); + charS.add(Character.valueOf('\ucbd2')); + charS.add(Character.valueOf('\ucbd3')); + charS.add(Character.valueOf('\ucbd4')); + charS.add(Character.valueOf('\ucbd5')); + charS.add(Character.valueOf('\ucbd6')); + charS.add(Character.valueOf('\ucbd7')); + charS.add(Character.valueOf('\ucbd8')); + charS.add(Character.valueOf('\ucbd9')); + charS.add(Character.valueOf('\ucbda')); + charS.add(Character.valueOf('\ucbdb')); + charS.add(Character.valueOf('\ucbdc')); + charS.add(Character.valueOf('\ucbdd')); + charS.add(Character.valueOf('\ucbde')); + charS.add(Character.valueOf('\ucbdf')); + charS.add(Character.valueOf('\ucbe0')); + charS.add(Character.valueOf('\ucbe1')); + charS.add(Character.valueOf('\ucbe2')); + charS.add(Character.valueOf('\ucbe3')); + charS.add(Character.valueOf('\ucbe4')); + charS.add(Character.valueOf('\ucbe5')); + charS.add(Character.valueOf('\ucbe6')); + charS.add(Character.valueOf('\ucbe7')); + charS.add(Character.valueOf('\ucbe8')); + charS.add(Character.valueOf('\ucbe9')); + charS.add(Character.valueOf('\ucbea')); + charS.add(Character.valueOf('\ucbeb')); + charS.add(Character.valueOf('\ucbec')); + charS.add(Character.valueOf('\ucbed')); + charS.add(Character.valueOf('\ucbee')); + charS.add(Character.valueOf('\ucbef')); + charS.add(Character.valueOf('\ucbf0')); + charS.add(Character.valueOf('\ucbf1')); + charS.add(Character.valueOf('\ucbf2')); + charS.add(Character.valueOf('\ucbf3')); + charS.add(Character.valueOf('\ucbf4')); + charS.add(Character.valueOf('\ucbf5')); + charS.add(Character.valueOf('\ucbf6')); + charS.add(Character.valueOf('\ucbf7')); + charS.add(Character.valueOf('\ucbf8')); + charS.add(Character.valueOf('\ucbf9')); + charS.add(Character.valueOf('\ucbfa')); + charS.add(Character.valueOf('\ucbfb')); + charS.add(Character.valueOf('\ucbfc')); + charS.add(Character.valueOf('\ucbfd')); + charS.add(Character.valueOf('\ucbfe')); + charS.add(Character.valueOf('\ucbff')); + charS.add(Character.valueOf('\ucd00')); + charS.add(Character.valueOf('\ucd01')); + charS.add(Character.valueOf('\ucd02')); + charS.add(Character.valueOf('\ucd03')); + charS.add(Character.valueOf('\ucd04')); + charS.add(Character.valueOf('\ucd05')); + charS.add(Character.valueOf('\ucd06')); + charS.add(Character.valueOf('\ucd07')); + charS.add(Character.valueOf('\ucd08')); + charS.add(Character.valueOf('\ucd09')); + charS.add(Character.valueOf('\ucd0a')); + charS.add(Character.valueOf('\ucd0b')); + charS.add(Character.valueOf('\ucd0c')); + charS.add(Character.valueOf('\ucd0d')); + charS.add(Character.valueOf('\ucd0e')); + charS.add(Character.valueOf('\ucd0f')); + charS.add(Character.valueOf('\ucd10')); + charS.add(Character.valueOf('\ucd11')); + charS.add(Character.valueOf('\ucd12')); + charS.add(Character.valueOf('\ucd13')); + charS.add(Character.valueOf('\ucd14')); + charS.add(Character.valueOf('\ucd15')); + charS.add(Character.valueOf('\ucd16')); + charS.add(Character.valueOf('\ucd17')); + charS.add(Character.valueOf('\ucd18')); + charS.add(Character.valueOf('\ucd19')); + charS.add(Character.valueOf('\ucd1a')); + charS.add(Character.valueOf('\ucd1b')); + charS.add(Character.valueOf('\ucd1c')); + charS.add(Character.valueOf('\ucd1d')); + charS.add(Character.valueOf('\ucd1e')); + charS.add(Character.valueOf('\ucd1f')); + charS.add(Character.valueOf('\ucd20')); + charS.add(Character.valueOf('\ucd21')); + charS.add(Character.valueOf('\ucd22')); + charS.add(Character.valueOf('\ucd23')); + charS.add(Character.valueOf('\ucd24')); + charS.add(Character.valueOf('\ucd25')); + charS.add(Character.valueOf('\ucd26')); + charS.add(Character.valueOf('\ucd27')); + charS.add(Character.valueOf('\ucd28')); + charS.add(Character.valueOf('\ucd29')); + charS.add(Character.valueOf('\ucd2a')); + charS.add(Character.valueOf('\ucd2b')); + charS.add(Character.valueOf('\ucd2c')); + charS.add(Character.valueOf('\ucd2d')); + charS.add(Character.valueOf('\ucd2e')); + charS.add(Character.valueOf('\ucd2f')); + charS.add(Character.valueOf('\ucd30')); + charS.add(Character.valueOf('\ucd31')); + charS.add(Character.valueOf('\ucd32')); + charS.add(Character.valueOf('\ucd33')); + charS.add(Character.valueOf('\ucd34')); + charS.add(Character.valueOf('\ucd35')); + charS.add(Character.valueOf('\ucd36')); + charS.add(Character.valueOf('\ucd37')); + charS.add(Character.valueOf('\ucd38')); + charS.add(Character.valueOf('\ucd39')); + charS.add(Character.valueOf('\ucd3a')); + charS.add(Character.valueOf('\ucd3b')); + charS.add(Character.valueOf('\ucd3c')); + charS.add(Character.valueOf('\ucd3d')); + charS.add(Character.valueOf('\ucd3e')); + charS.add(Character.valueOf('\ucd3f')); + charS.add(Character.valueOf('\ucd40')); + charS.add(Character.valueOf('\ucd41')); + charS.add(Character.valueOf('\ucd42')); + charS.add(Character.valueOf('\ucd43')); + charS.add(Character.valueOf('\ucd44')); + charS.add(Character.valueOf('\ucd45')); + charS.add(Character.valueOf('\ucd46')); + charS.add(Character.valueOf('\ucd47')); + charS.add(Character.valueOf('\ucd48')); + charS.add(Character.valueOf('\ucd49')); + charS.add(Character.valueOf('\ucd4a')); + charS.add(Character.valueOf('\ucd4b')); + charS.add(Character.valueOf('\ucd4c')); + charS.add(Character.valueOf('\ucd4d')); + charS.add(Character.valueOf('\ucd4e')); + charS.add(Character.valueOf('\ucd4f')); + charS.add(Character.valueOf('\ucd50')); + charS.add(Character.valueOf('\ucd51')); + charS.add(Character.valueOf('\ucd52')); + charS.add(Character.valueOf('\ucd53')); + charS.add(Character.valueOf('\ucd54')); + charS.add(Character.valueOf('\ucd55')); + charS.add(Character.valueOf('\ucd56')); + charS.add(Character.valueOf('\ucd57')); + charS.add(Character.valueOf('\ucd58')); + charS.add(Character.valueOf('\ucd59')); + charS.add(Character.valueOf('\ucd5a')); + charS.add(Character.valueOf('\ucd5b')); + charS.add(Character.valueOf('\ucd5c')); + charS.add(Character.valueOf('\ucd5d')); + charS.add(Character.valueOf('\ucd5e')); + charS.add(Character.valueOf('\ucd5f')); + charS.add(Character.valueOf('\ucd60')); + charS.add(Character.valueOf('\ucd61')); + charS.add(Character.valueOf('\ucd62')); + charS.add(Character.valueOf('\ucd63')); + charS.add(Character.valueOf('\ucd64')); + charS.add(Character.valueOf('\ucd65')); + charS.add(Character.valueOf('\ucd66')); + charS.add(Character.valueOf('\ucd67')); + charS.add(Character.valueOf('\ucd68')); + charS.add(Character.valueOf('\ucd69')); + charS.add(Character.valueOf('\ucd6a')); + charS.add(Character.valueOf('\ucd6b')); + charS.add(Character.valueOf('\ucd6c')); + charS.add(Character.valueOf('\ucd6d')); + charS.add(Character.valueOf('\ucd6e')); + charS.add(Character.valueOf('\ucd6f')); + charS.add(Character.valueOf('\ucd70')); + charS.add(Character.valueOf('\ucd71')); + charS.add(Character.valueOf('\ucd72')); + charS.add(Character.valueOf('\ucd73')); + charS.add(Character.valueOf('\ucd74')); + charS.add(Character.valueOf('\ucd75')); + charS.add(Character.valueOf('\ucd76')); + charS.add(Character.valueOf('\ucd77')); + charS.add(Character.valueOf('\ucd78')); + charS.add(Character.valueOf('\ucd79')); + charS.add(Character.valueOf('\ucd7a')); + charS.add(Character.valueOf('\ucd7b')); + charS.add(Character.valueOf('\ucd7c')); + charS.add(Character.valueOf('\ucd7d')); + charS.add(Character.valueOf('\ucd7e')); + charS.add(Character.valueOf('\ucd7f')); + charS.add(Character.valueOf('\ucd80')); + charS.add(Character.valueOf('\ucd81')); + charS.add(Character.valueOf('\ucd82')); + charS.add(Character.valueOf('\ucd83')); + charS.add(Character.valueOf('\ucd84')); + charS.add(Character.valueOf('\ucd85')); + charS.add(Character.valueOf('\ucd86')); + charS.add(Character.valueOf('\ucd87')); + charS.add(Character.valueOf('\ucd88')); + charS.add(Character.valueOf('\ucd89')); + charS.add(Character.valueOf('\ucd8a')); + charS.add(Character.valueOf('\ucd8b')); + charS.add(Character.valueOf('\ucd8c')); + charS.add(Character.valueOf('\ucd8d')); + charS.add(Character.valueOf('\ucd8e')); + charS.add(Character.valueOf('\ucd8f')); + charS.add(Character.valueOf('\ucd90')); + charS.add(Character.valueOf('\ucd91')); + charS.add(Character.valueOf('\ucd92')); + charS.add(Character.valueOf('\ucd93')); + charS.add(Character.valueOf('\ucd94')); + charS.add(Character.valueOf('\ucd95')); + charS.add(Character.valueOf('\ucd96')); + charS.add(Character.valueOf('\ucd97')); + charS.add(Character.valueOf('\ucd98')); + charS.add(Character.valueOf('\ucd99')); + charS.add(Character.valueOf('\ucd9a')); + charS.add(Character.valueOf('\ucd9b')); + charS.add(Character.valueOf('\ucd9c')); + charS.add(Character.valueOf('\ucd9d')); + charS.add(Character.valueOf('\ucd9e')); + charS.add(Character.valueOf('\ucd9f')); + charS.add(Character.valueOf('\ucda0')); + charS.add(Character.valueOf('\ucda1')); + charS.add(Character.valueOf('\ucda2')); + charS.add(Character.valueOf('\ucda3')); + charS.add(Character.valueOf('\ucda4')); + charS.add(Character.valueOf('\ucda5')); + charS.add(Character.valueOf('\ucda6')); + charS.add(Character.valueOf('\ucda7')); + charS.add(Character.valueOf('\ucda8')); + charS.add(Character.valueOf('\ucda9')); + charS.add(Character.valueOf('\ucdaa')); + charS.add(Character.valueOf('\ucdab')); + charS.add(Character.valueOf('\ucdac')); + charS.add(Character.valueOf('\ucdad')); + charS.add(Character.valueOf('\ucdae')); + charS.add(Character.valueOf('\ucdaf')); + charS.add(Character.valueOf('\ucdb0')); + charS.add(Character.valueOf('\ucdb1')); + charS.add(Character.valueOf('\ucdb2')); + charS.add(Character.valueOf('\ucdb3')); + charS.add(Character.valueOf('\ucdb4')); + charS.add(Character.valueOf('\ucdb5')); + charS.add(Character.valueOf('\ucdb6')); + charS.add(Character.valueOf('\ucdb7')); + charS.add(Character.valueOf('\ucdb8')); + charS.add(Character.valueOf('\ucdb9')); + charS.add(Character.valueOf('\ucdba')); + charS.add(Character.valueOf('\ucdbb')); + charS.add(Character.valueOf('\ucdbc')); + charS.add(Character.valueOf('\ucd3d')); + charS.add(Character.valueOf('\ucdbe')); + charS.add(Character.valueOf('\ucdbf')); + charS.add(Character.valueOf('\ucdc0')); + charS.add(Character.valueOf('\ucdc1')); + charS.add(Character.valueOf('\ucdc2')); + charS.add(Character.valueOf('\ucdc3')); + charS.add(Character.valueOf('\ucdc4')); + charS.add(Character.valueOf('\ucdc5')); + charS.add(Character.valueOf('\ucdc6')); + charS.add(Character.valueOf('\ucdc7')); + charS.add(Character.valueOf('\ucdc8')); + charS.add(Character.valueOf('\ucdc9')); + charS.add(Character.valueOf('\ucdca')); + charS.add(Character.valueOf('\ucdcb')); + charS.add(Character.valueOf('\ucdcc')); + charS.add(Character.valueOf('\ucdcd')); + charS.add(Character.valueOf('\ucdce')); + charS.add(Character.valueOf('\ucdcf')); + charS.add(Character.valueOf('\ucdd0')); + charS.add(Character.valueOf('\ucdd1')); + charS.add(Character.valueOf('\ucdd2')); + charS.add(Character.valueOf('\ucdd3')); + charS.add(Character.valueOf('\ucdd4')); + charS.add(Character.valueOf('\ucdd5')); + charS.add(Character.valueOf('\ucdd6')); + charS.add(Character.valueOf('\ucdd7')); + charS.add(Character.valueOf('\ucdd8')); + charS.add(Character.valueOf('\ucdd9')); + charS.add(Character.valueOf('\ucdda')); + charS.add(Character.valueOf('\ucddb')); + charS.add(Character.valueOf('\ucddc')); + charS.add(Character.valueOf('\ucddd')); + charS.add(Character.valueOf('\ucdde')); + charS.add(Character.valueOf('\ucddf')); + charS.add(Character.valueOf('\ucde0')); + charS.add(Character.valueOf('\ucde1')); + charS.add(Character.valueOf('\ucde2')); + charS.add(Character.valueOf('\ucde3')); + charS.add(Character.valueOf('\ucde4')); + charS.add(Character.valueOf('\ucde5')); + charS.add(Character.valueOf('\ucde6')); + charS.add(Character.valueOf('\ucde7')); + charS.add(Character.valueOf('\ucde8')); + charS.add(Character.valueOf('\ucde9')); + charS.add(Character.valueOf('\ucdea')); + charS.add(Character.valueOf('\ucdeb')); + charS.add(Character.valueOf('\ucdec')); + charS.add(Character.valueOf('\ucded')); + charS.add(Character.valueOf('\ucdee')); + charS.add(Character.valueOf('\ucdef')); + charS.add(Character.valueOf('\ucdf0')); + charS.add(Character.valueOf('\ucdf1')); + charS.add(Character.valueOf('\ucdf2')); + charS.add(Character.valueOf('\ucdf3')); + charS.add(Character.valueOf('\ucdf4')); + charS.add(Character.valueOf('\ucdf5')); + charS.add(Character.valueOf('\ucdf6')); + charS.add(Character.valueOf('\ucdf7')); + charS.add(Character.valueOf('\ucdf8')); + charS.add(Character.valueOf('\ucdf9')); + charS.add(Character.valueOf('\ucdfa')); + charS.add(Character.valueOf('\ucdfb')); + charS.add(Character.valueOf('\ucdfc')); + charS.add(Character.valueOf('\ucdfd')); + charS.add(Character.valueOf('\ucdfe')); + charS.add(Character.valueOf('\ucdff')); + charS.add(Character.valueOf('\uce00')); + charS.add(Character.valueOf('\uce01')); + charS.add(Character.valueOf('\uce02')); + charS.add(Character.valueOf('\uce03')); + charS.add(Character.valueOf('\uce04')); + charS.add(Character.valueOf('\uce05')); + charS.add(Character.valueOf('\uce06')); + charS.add(Character.valueOf('\uce07')); + charS.add(Character.valueOf('\uce08')); + charS.add(Character.valueOf('\uce09')); + charS.add(Character.valueOf('\uce0a')); + charS.add(Character.valueOf('\uce0b')); + charS.add(Character.valueOf('\uce0c')); + charS.add(Character.valueOf('\uce0d')); + charS.add(Character.valueOf('\uce0e')); + charS.add(Character.valueOf('\uce0f')); + charS.add(Character.valueOf('\uce10')); + charS.add(Character.valueOf('\uce11')); + charS.add(Character.valueOf('\uce12')); + charS.add(Character.valueOf('\uce13')); + charS.add(Character.valueOf('\uce14')); + charS.add(Character.valueOf('\uce15')); + charS.add(Character.valueOf('\uce16')); + charS.add(Character.valueOf('\uce17')); + charS.add(Character.valueOf('\uce18')); + charS.add(Character.valueOf('\uce19')); + charS.add(Character.valueOf('\uce1a')); + charS.add(Character.valueOf('\uce1b')); + charS.add(Character.valueOf('\uce1c')); + charS.add(Character.valueOf('\uce1d')); + charS.add(Character.valueOf('\uce1e')); + charS.add(Character.valueOf('\uce1f')); + charS.add(Character.valueOf('\uce20')); + charS.add(Character.valueOf('\uce21')); + charS.add(Character.valueOf('\uce22')); + charS.add(Character.valueOf('\uce23')); + charS.add(Character.valueOf('\uce24')); + charS.add(Character.valueOf('\uce25')); + charS.add(Character.valueOf('\uce26')); + charS.add(Character.valueOf('\uce27')); + charS.add(Character.valueOf('\uce28')); + charS.add(Character.valueOf('\uce29')); + charS.add(Character.valueOf('\uce2a')); + charS.add(Character.valueOf('\uce2b')); + charS.add(Character.valueOf('\uce2c')); + charS.add(Character.valueOf('\uce2d')); + charS.add(Character.valueOf('\uce2e')); + charS.add(Character.valueOf('\uce2f')); + charS.add(Character.valueOf('\uce30')); + charS.add(Character.valueOf('\uce31')); + charS.add(Character.valueOf('\uce32')); + charS.add(Character.valueOf('\uce33')); + charS.add(Character.valueOf('\uce34')); + charS.add(Character.valueOf('\uce35')); + charS.add(Character.valueOf('\uce36')); + charS.add(Character.valueOf('\uce37')); + charS.add(Character.valueOf('\uce38')); + charS.add(Character.valueOf('\uce39')); + charS.add(Character.valueOf('\uce3a')); + charS.add(Character.valueOf('\uce3b')); + charS.add(Character.valueOf('\uce3c')); + charS.add(Character.valueOf('\uce3d')); + charS.add(Character.valueOf('\uce3e')); + charS.add(Character.valueOf('\uce3f')); + charS.add(Character.valueOf('\uce40')); + charS.add(Character.valueOf('\uce41')); + charS.add(Character.valueOf('\uce42')); + charS.add(Character.valueOf('\uce43')); + charS.add(Character.valueOf('\uce44')); + charS.add(Character.valueOf('\uce45')); + charS.add(Character.valueOf('\uce46')); + charS.add(Character.valueOf('\uce47')); + charS.add(Character.valueOf('\uce48')); + charS.add(Character.valueOf('\uce49')); + charS.add(Character.valueOf('\uce4a')); + charS.add(Character.valueOf('\uce4b')); + charS.add(Character.valueOf('\uce4c')); + charS.add(Character.valueOf('\uce4d')); + charS.add(Character.valueOf('\uce4e')); + charS.add(Character.valueOf('\uce4f')); + charS.add(Character.valueOf('\uce50')); + charS.add(Character.valueOf('\uce51')); + charS.add(Character.valueOf('\uce52')); + charS.add(Character.valueOf('\uce53')); + charS.add(Character.valueOf('\uce54')); + charS.add(Character.valueOf('\uce55')); + charS.add(Character.valueOf('\uce56')); + charS.add(Character.valueOf('\uce57')); + charS.add(Character.valueOf('\uce58')); + charS.add(Character.valueOf('\uce59')); + charS.add(Character.valueOf('\uce5a')); + charS.add(Character.valueOf('\uce5b')); + charS.add(Character.valueOf('\uce5c')); + charS.add(Character.valueOf('\uce5d')); + charS.add(Character.valueOf('\uce5e')); + charS.add(Character.valueOf('\uce5f')); + charS.add(Character.valueOf('\uce60')); + charS.add(Character.valueOf('\uce61')); + charS.add(Character.valueOf('\uce62')); + charS.add(Character.valueOf('\uce63')); + charS.add(Character.valueOf('\uce64')); + charS.add(Character.valueOf('\uce65')); + charS.add(Character.valueOf('\uce66')); + charS.add(Character.valueOf('\uce67')); + charS.add(Character.valueOf('\uce68')); + charS.add(Character.valueOf('\uce69')); + charS.add(Character.valueOf('\uce6a')); + charS.add(Character.valueOf('\uce6b')); + charS.add(Character.valueOf('\uce6c')); + charS.add(Character.valueOf('\uce6d')); + charS.add(Character.valueOf('\uce6e')); + charS.add(Character.valueOf('\uce6f')); + charS.add(Character.valueOf('\uce70')); + charS.add(Character.valueOf('\uce71')); + charS.add(Character.valueOf('\uce72')); + charS.add(Character.valueOf('\uce73')); + charS.add(Character.valueOf('\uce74')); + charS.add(Character.valueOf('\uce75')); + charS.add(Character.valueOf('\uce76')); + charS.add(Character.valueOf('\uce77')); + charS.add(Character.valueOf('\uce78')); + charS.add(Character.valueOf('\uce79')); + charS.add(Character.valueOf('\uce7a')); + charS.add(Character.valueOf('\uce7b')); + charS.add(Character.valueOf('\uce7c')); + charS.add(Character.valueOf('\uce7d')); + charS.add(Character.valueOf('\uce7e')); + charS.add(Character.valueOf('\uce7f')); + charS.add(Character.valueOf('\uce80')); + charS.add(Character.valueOf('\uce81')); + charS.add(Character.valueOf('\uce82')); + charS.add(Character.valueOf('\uce83')); + charS.add(Character.valueOf('\uce84')); + charS.add(Character.valueOf('\uce85')); + charS.add(Character.valueOf('\uce86')); + charS.add(Character.valueOf('\uce87')); + charS.add(Character.valueOf('\uce88')); + charS.add(Character.valueOf('\uce89')); + charS.add(Character.valueOf('\uce8a')); + charS.add(Character.valueOf('\uce8b')); + charS.add(Character.valueOf('\uce8c')); + charS.add(Character.valueOf('\uce8d')); + charS.add(Character.valueOf('\uce8e')); + charS.add(Character.valueOf('\uce8f')); + charS.add(Character.valueOf('\uce90')); + charS.add(Character.valueOf('\uce91')); + charS.add(Character.valueOf('\uce92')); + charS.add(Character.valueOf('\uce93')); + charS.add(Character.valueOf('\uce94')); + charS.add(Character.valueOf('\uce95')); + charS.add(Character.valueOf('\uce96')); + charS.add(Character.valueOf('\uce97')); + charS.add(Character.valueOf('\uce98')); + charS.add(Character.valueOf('\uce99')); + charS.add(Character.valueOf('\uce9a')); + charS.add(Character.valueOf('\uce9b')); + charS.add(Character.valueOf('\uce9c')); + charS.add(Character.valueOf('\uce9d')); + charS.add(Character.valueOf('\ucf00')); + charS.add(Character.valueOf('\ucf01')); + charS.add(Character.valueOf('\ucf02')); + charS.add(Character.valueOf('\ucf03')); + charS.add(Character.valueOf('\ucf04')); + charS.add(Character.valueOf('\ucf05')); + charS.add(Character.valueOf('\ucf06')); + charS.add(Character.valueOf('\ucf07')); + charS.add(Character.valueOf('\ucf08')); + charS.add(Character.valueOf('\ucf09')); + charS.add(Character.valueOf('\ucf0a')); + charS.add(Character.valueOf('\ucf0b')); + charS.add(Character.valueOf('\ucf0c')); + charS.add(Character.valueOf('\ucf0d')); + charS.add(Character.valueOf('\ucf0e')); + charS.add(Character.valueOf('\ucf0f')); + charS.add(Character.valueOf('\ucf10')); + charS.add(Character.valueOf('\ucf11')); + charS.add(Character.valueOf('\ucf12')); + charS.add(Character.valueOf('\ucf13')); + charS.add(Character.valueOf('\ucf14')); + charS.add(Character.valueOf('\ucf15')); + charS.add(Character.valueOf('\ucf16')); + charS.add(Character.valueOf('\ucf17')); + charS.add(Character.valueOf('\ucf18')); + charS.add(Character.valueOf('\ucf19')); + charS.add(Character.valueOf('\ucf1a')); + charS.add(Character.valueOf('\ucf1b')); + charS.add(Character.valueOf('\ucf1c')); + charS.add(Character.valueOf('\ucf1d')); + charS.add(Character.valueOf('\ucf1e')); + charS.add(Character.valueOf('\ucf1f')); + charS.add(Character.valueOf('\ucf20')); + charS.add(Character.valueOf('\ucf21')); + charS.add(Character.valueOf('\ucf22')); + charS.add(Character.valueOf('\ucf23')); + charS.add(Character.valueOf('\ucf24')); + charS.add(Character.valueOf('\ucf25')); + charS.add(Character.valueOf('\ucf26')); + charS.add(Character.valueOf('\ucf27')); + charS.add(Character.valueOf('\ucf28')); + charS.add(Character.valueOf('\ucf29')); + charS.add(Character.valueOf('\ucf2a')); + charS.add(Character.valueOf('\ucf2b')); + charS.add(Character.valueOf('\ucf2c')); + charS.add(Character.valueOf('\ucf2d')); + charS.add(Character.valueOf('\ucf2e')); + charS.add(Character.valueOf('\ucf2f')); + charS.add(Character.valueOf('\ucf30')); + charS.add(Character.valueOf('\ucf31')); + charS.add(Character.valueOf('\ucf32')); + charS.add(Character.valueOf('\ucf33')); + charS.add(Character.valueOf('\ucf34')); + charS.add(Character.valueOf('\ucf35')); + charS.add(Character.valueOf('\ucf36')); + charS.add(Character.valueOf('\ucf37')); + charS.add(Character.valueOf('\ucf38')); + charS.add(Character.valueOf('\ucf39')); + charS.add(Character.valueOf('\ucf3a')); + charS.add(Character.valueOf('\ucf3b')); + charS.add(Character.valueOf('\ucf3c')); + charS.add(Character.valueOf('\ucf3d')); + charS.add(Character.valueOf('\ucf3e')); + charS.add(Character.valueOf('\ucf3f')); + charS.add(Character.valueOf('\ucf40')); + charS.add(Character.valueOf('\ucf41')); + charS.add(Character.valueOf('\ucf42')); + charS.add(Character.valueOf('\ucf43')); + charS.add(Character.valueOf('\ucf44')); + charS.add(Character.valueOf('\ucf45')); + charS.add(Character.valueOf('\ucf46')); + charS.add(Character.valueOf('\ucf47')); + charS.add(Character.valueOf('\ucf48')); + charS.add(Character.valueOf('\ucf49')); + charS.add(Character.valueOf('\ucf4a')); + charS.add(Character.valueOf('\ucf4b')); + charS.add(Character.valueOf('\ucf4c')); + charS.add(Character.valueOf('\ucf4d')); + charS.add(Character.valueOf('\ucf4e')); + charS.add(Character.valueOf('\ucf4f')); + charS.add(Character.valueOf('\ucf50')); + charS.add(Character.valueOf('\ucf51')); + charS.add(Character.valueOf('\ucf52')); + charS.add(Character.valueOf('\ucf53')); + charS.add(Character.valueOf('\ucf54')); + charS.add(Character.valueOf('\ucf55')); + charS.add(Character.valueOf('\ucf56')); + charS.add(Character.valueOf('\ucf57')); + charS.add(Character.valueOf('\ucf58')); + charS.add(Character.valueOf('\ucf59')); + charS.add(Character.valueOf('\ucf5a')); + charS.add(Character.valueOf('\ucf5b')); + charS.add(Character.valueOf('\ucf5c')); + charS.add(Character.valueOf('\ucf5d')); + charS.add(Character.valueOf('\ucf5e')); + charS.add(Character.valueOf('\ucf5f')); + charS.add(Character.valueOf('\ucf60')); + charS.add(Character.valueOf('\ucf61')); + charS.add(Character.valueOf('\ucf62')); + charS.add(Character.valueOf('\ucf63')); + charS.add(Character.valueOf('\ucf64')); + charS.add(Character.valueOf('\ucf65')); + charS.add(Character.valueOf('\ucf66')); + charS.add(Character.valueOf('\ucf67')); + charS.add(Character.valueOf('\ucf68')); + charS.add(Character.valueOf('\ucf69')); + charS.add(Character.valueOf('\ucf6a')); + charS.add(Character.valueOf('\ucf6b')); + charS.add(Character.valueOf('\ucf6c')); + charS.add(Character.valueOf('\ucf6d')); + charS.add(Character.valueOf('\ucf6e')); + charS.add(Character.valueOf('\ucf6f')); + charS.add(Character.valueOf('\ucf70')); + charS.add(Character.valueOf('\ucf71')); + charS.add(Character.valueOf('\ucf72')); + charS.add(Character.valueOf('\ucf73')); + charS.add(Character.valueOf('\ucf74')); + charS.add(Character.valueOf('\ucf75')); + charS.add(Character.valueOf('\ucf76')); + charS.add(Character.valueOf('\ucf77')); + charS.add(Character.valueOf('\ucf78')); + charS.add(Character.valueOf('\ucf79')); + charS.add(Character.valueOf('\ucf7a')); + charS.add(Character.valueOf('\ucf7b')); + charS.add(Character.valueOf('\ucf7c')); + charS.add(Character.valueOf('\ucf7d')); + charS.add(Character.valueOf('\ucf7e')); + charS.add(Character.valueOf('\ucf7f')); + charS.add(Character.valueOf('\ucf80')); + charS.add(Character.valueOf('\ucf81')); + charS.add(Character.valueOf('\ucf82')); + charS.add(Character.valueOf('\ucf83')); + charS.add(Character.valueOf('\ucf84')); + charS.add(Character.valueOf('\ucf85')); + charS.add(Character.valueOf('\ucf86')); + charS.add(Character.valueOf('\ucf87')); + charS.add(Character.valueOf('\ucf88')); + charS.add(Character.valueOf('\ucf89')); + charS.add(Character.valueOf('\ucf8a')); + charS.add(Character.valueOf('\ucf8b')); + charS.add(Character.valueOf('\ucf8c')); + charS.add(Character.valueOf('\ucf8d')); + charS.add(Character.valueOf('\ucf8e')); + charS.add(Character.valueOf('\ucf8f')); + charS.add(Character.valueOf('\ucf90')); + charS.add(Character.valueOf('\ucf91')); + charS.add(Character.valueOf('\ucf92')); + charS.add(Character.valueOf('\ucf93')); + charS.add(Character.valueOf('\ucf94')); + charS.add(Character.valueOf('\ucf95')); + charS.add(Character.valueOf('\ucf96')); + charS.add(Character.valueOf('\ucf97')); + charS.add(Character.valueOf('\ucf98')); + charS.add(Character.valueOf('\ucf99')); + charS.add(Character.valueOf('\ucf9a')); + charS.add(Character.valueOf('\ucf9b')); + charS.add(Character.valueOf('\ucf9c')); + charS.add(Character.valueOf('\ucf9d')); + charS.add(Character.valueOf('\ucf9e')); + charS.add(Character.valueOf('\ucf9f')); + charS.add(Character.valueOf('\ucfa0')); + charS.add(Character.valueOf('\ucfa1')); + charS.add(Character.valueOf('\ucfa2')); + charS.add(Character.valueOf('\ucfa3')); + charS.add(Character.valueOf('\ucfa4')); + charS.add(Character.valueOf('\ucfa5')); + charS.add(Character.valueOf('\ucfa6')); + charS.add(Character.valueOf('\ucfa7')); + charS.add(Character.valueOf('\ucfa8')); + charS.add(Character.valueOf('\ucfa9')); + charS.add(Character.valueOf('\ucfaa')); + charS.add(Character.valueOf('\ucfab')); + charS.add(Character.valueOf('\ucfac')); + charS.add(Character.valueOf('\ucfad')); + charS.add(Character.valueOf('\ucfae')); + charS.add(Character.valueOf('\ucfaf')); + charS.add(Character.valueOf('\ucfb0')); + charS.add(Character.valueOf('\ucfb1')); + charS.add(Character.valueOf('\ucfb2')); + charS.add(Character.valueOf('\ucfb3')); + charS.add(Character.valueOf('\ucfb4')); + charS.add(Character.valueOf('\ucfb5')); + charS.add(Character.valueOf('\ucfb6')); + charS.add(Character.valueOf('\ucfb7')); + charS.add(Character.valueOf('\ucfb8')); + charS.add(Character.valueOf('\ucfb9')); + charS.add(Character.valueOf('\ucfba')); + charS.add(Character.valueOf('\ucfbb')); + charS.add(Character.valueOf('\ucfbc')); + charS.add(Character.valueOf('\ucf3d')); + charS.add(Character.valueOf('\ucfbe')); + charS.add(Character.valueOf('\ucfbf')); + charS.add(Character.valueOf('\ucfc0')); + charS.add(Character.valueOf('\ucfc1')); + charS.add(Character.valueOf('\ucfc2')); + charS.add(Character.valueOf('\ucfc3')); + charS.add(Character.valueOf('\ucfc4')); + charS.add(Character.valueOf('\ucfc5')); + charS.add(Character.valueOf('\ucfc6')); + charS.add(Character.valueOf('\ucfc7')); + charS.add(Character.valueOf('\ucfc8')); + charS.add(Character.valueOf('\ucfc9')); + charS.add(Character.valueOf('\ucfca')); + charS.add(Character.valueOf('\ucfcb')); + charS.add(Character.valueOf('\ucfcc')); + charS.add(Character.valueOf('\ucfcd')); + charS.add(Character.valueOf('\ucfce')); + charS.add(Character.valueOf('\ucfcf')); + charS.add(Character.valueOf('\ucfd0')); + charS.add(Character.valueOf('\ucfd1')); + charS.add(Character.valueOf('\ucfd2')); + charS.add(Character.valueOf('\ucfd3')); + charS.add(Character.valueOf('\ucfd4')); + charS.add(Character.valueOf('\ucfd5')); + charS.add(Character.valueOf('\ucfd6')); + charS.add(Character.valueOf('\ucfd7')); + charS.add(Character.valueOf('\ucfd8')); + charS.add(Character.valueOf('\ucfd9')); + charS.add(Character.valueOf('\ucfda')); + charS.add(Character.valueOf('\ucfdb')); + charS.add(Character.valueOf('\ucfdc')); + charS.add(Character.valueOf('\ucfdd')); + charS.add(Character.valueOf('\ucfde')); + charS.add(Character.valueOf('\ucfdf')); + charS.add(Character.valueOf('\ucfe0')); + charS.add(Character.valueOf('\ucfe1')); + charS.add(Character.valueOf('\ucfe2')); + charS.add(Character.valueOf('\ucfe3')); + charS.add(Character.valueOf('\ucfe4')); + charS.add(Character.valueOf('\ucfe5')); + charS.add(Character.valueOf('\ucfe6')); + charS.add(Character.valueOf('\ucfe7')); + charS.add(Character.valueOf('\ucfe8')); + charS.add(Character.valueOf('\ucfe9')); + charS.add(Character.valueOf('\ucfea')); + charS.add(Character.valueOf('\ucfeb')); + charS.add(Character.valueOf('\ucfec')); + charS.add(Character.valueOf('\ucfed')); + charS.add(Character.valueOf('\ucfee')); + charS.add(Character.valueOf('\ucfef')); + charS.add(Character.valueOf('\ucff0')); + charS.add(Character.valueOf('\ucff1')); + charS.add(Character.valueOf('\ucff2')); + charS.add(Character.valueOf('\ucff3')); + charS.add(Character.valueOf('\ucff4')); + charS.add(Character.valueOf('\ucff5')); + charS.add(Character.valueOf('\ucff6')); + charS.add(Character.valueOf('\ucff7')); + charS.add(Character.valueOf('\ucff8')); + charS.add(Character.valueOf('\ucff9')); + charS.add(Character.valueOf('\ucffa')); + charS.add(Character.valueOf('\ucffb')); + charS.add(Character.valueOf('\ucffc')); + charS.add(Character.valueOf('\ucffd')); + charS.add(Character.valueOf('\ucffe')); + charS.add(Character.valueOf('\ucfff')); + return charS; + } + + public static List addCharEntryD() { + ArrayList charS = new ArrayList(); + charS.add(Character.valueOf('\ud000')); + charS.add(Character.valueOf('\ud001')); + charS.add(Character.valueOf('\ud002')); + charS.add(Character.valueOf('\ud003')); + charS.add(Character.valueOf('\ud004')); + charS.add(Character.valueOf('\ud005')); + charS.add(Character.valueOf('\ud006')); + charS.add(Character.valueOf('\ud007')); + charS.add(Character.valueOf('\ud008')); + charS.add(Character.valueOf('\ud009')); + charS.add(Character.valueOf('\ud00a')); + charS.add(Character.valueOf('\ud00b')); + charS.add(Character.valueOf('\ud00c')); + charS.add(Character.valueOf('\ud00d')); + charS.add(Character.valueOf('\ud00e')); + charS.add(Character.valueOf('\ud00f')); + charS.add(Character.valueOf('\ud010')); + charS.add(Character.valueOf('\ud011')); + charS.add(Character.valueOf('\ud012')); + charS.add(Character.valueOf('\ud013')); + charS.add(Character.valueOf('\ud014')); + charS.add(Character.valueOf('\ud015')); + charS.add(Character.valueOf('\ud016')); + charS.add(Character.valueOf('\ud017')); + charS.add(Character.valueOf('\ud018')); + charS.add(Character.valueOf('\ud019')); + charS.add(Character.valueOf('\ud01a')); + charS.add(Character.valueOf('\ud01b')); + charS.add(Character.valueOf('\ud01c')); + charS.add(Character.valueOf('\ud01d')); + charS.add(Character.valueOf('\ud01e')); + charS.add(Character.valueOf('\ud01f')); + charS.add(Character.valueOf('\ud020')); + charS.add(Character.valueOf('\ud021')); + charS.add(Character.valueOf('\ud022')); + charS.add(Character.valueOf('\ud023')); + charS.add(Character.valueOf('\ud024')); + charS.add(Character.valueOf('\ud025')); + charS.add(Character.valueOf('\ud026')); + charS.add(Character.valueOf('\ud027')); + charS.add(Character.valueOf('\ud028')); + charS.add(Character.valueOf('\ud029')); + charS.add(Character.valueOf('\ud02a')); + charS.add(Character.valueOf('\ud02b')); + charS.add(Character.valueOf('\ud02c')); + charS.add(Character.valueOf('\ud02d')); + charS.add(Character.valueOf('\ud02e')); + charS.add(Character.valueOf('\ud02f')); + charS.add(Character.valueOf('\ud030')); + charS.add(Character.valueOf('\ud031')); + charS.add(Character.valueOf('\ud032')); + charS.add(Character.valueOf('\ud033')); + charS.add(Character.valueOf('\ud034')); + charS.add(Character.valueOf('\ud035')); + charS.add(Character.valueOf('\ud036')); + charS.add(Character.valueOf('\ud037')); + charS.add(Character.valueOf('\ud038')); + charS.add(Character.valueOf('\ud039')); + charS.add(Character.valueOf('\ud03a')); + charS.add(Character.valueOf('\ud03b')); + charS.add(Character.valueOf('\ud03c')); + charS.add(Character.valueOf('\ud03d')); + charS.add(Character.valueOf('\ud03e')); + charS.add(Character.valueOf('\ud03f')); + charS.add(Character.valueOf('\ud040')); + charS.add(Character.valueOf('\ud041')); + charS.add(Character.valueOf('\ud042')); + charS.add(Character.valueOf('\ud043')); + charS.add(Character.valueOf('\ud044')); + charS.add(Character.valueOf('\ud045')); + charS.add(Character.valueOf('\ud046')); + charS.add(Character.valueOf('\ud047')); + charS.add(Character.valueOf('\ud048')); + charS.add(Character.valueOf('\ud049')); + charS.add(Character.valueOf('\ud04a')); + charS.add(Character.valueOf('\ud04b')); + charS.add(Character.valueOf('\ud04c')); + charS.add(Character.valueOf('\ud04d')); + charS.add(Character.valueOf('\ud04e')); + charS.add(Character.valueOf('\ud04f')); + charS.add(Character.valueOf('\ud050')); + charS.add(Character.valueOf('\ud051')); + charS.add(Character.valueOf('\ud052')); + charS.add(Character.valueOf('\ud053')); + charS.add(Character.valueOf('\ud054')); + charS.add(Character.valueOf('\ud055')); + charS.add(Character.valueOf('\ud056')); + charS.add(Character.valueOf('\ud057')); + charS.add(Character.valueOf('\ud058')); + charS.add(Character.valueOf('\ud059')); + charS.add(Character.valueOf('\ud05a')); + charS.add(Character.valueOf('\ud05b')); + charS.add(Character.valueOf('\ud05c')); + charS.add(Character.valueOf('\ud05d')); + charS.add(Character.valueOf('\ud05e')); + charS.add(Character.valueOf('\ud05f')); + charS.add(Character.valueOf('\ud060')); + charS.add(Character.valueOf('\ud061')); + charS.add(Character.valueOf('\ud062')); + charS.add(Character.valueOf('\ud063')); + charS.add(Character.valueOf('\ud064')); + charS.add(Character.valueOf('\ud065')); + charS.add(Character.valueOf('\ud066')); + charS.add(Character.valueOf('\ud067')); + charS.add(Character.valueOf('\ud068')); + charS.add(Character.valueOf('\ud069')); + charS.add(Character.valueOf('\ud06a')); + charS.add(Character.valueOf('\ud06b')); + charS.add(Character.valueOf('\ud06c')); + charS.add(Character.valueOf('\ud06d')); + charS.add(Character.valueOf('\ud06e')); + charS.add(Character.valueOf('\ud06f')); + charS.add(Character.valueOf('\ud070')); + charS.add(Character.valueOf('\ud071')); + charS.add(Character.valueOf('\ud072')); + charS.add(Character.valueOf('\ud073')); + charS.add(Character.valueOf('\ud074')); + charS.add(Character.valueOf('\ud075')); + charS.add(Character.valueOf('\ud076')); + charS.add(Character.valueOf('\ud077')); + charS.add(Character.valueOf('\ud078')); + charS.add(Character.valueOf('\ud079')); + charS.add(Character.valueOf('\ud07a')); + charS.add(Character.valueOf('\ud07b')); + charS.add(Character.valueOf('\ud07c')); + charS.add(Character.valueOf('\ud07d')); + charS.add(Character.valueOf('\ud07e')); + charS.add(Character.valueOf('\ud07f')); + charS.add(Character.valueOf('\ud080')); + charS.add(Character.valueOf('\ud081')); + charS.add(Character.valueOf('\ud082')); + charS.add(Character.valueOf('\ud083')); + charS.add(Character.valueOf('\ud084')); + charS.add(Character.valueOf('\ud085')); + charS.add(Character.valueOf('\ud086')); + charS.add(Character.valueOf('\ud087')); + charS.add(Character.valueOf('\ud088')); + charS.add(Character.valueOf('\ud089')); + charS.add(Character.valueOf('\ud08a')); + charS.add(Character.valueOf('\ud08b')); + charS.add(Character.valueOf('\ud08c')); + charS.add(Character.valueOf('\ud08d')); + charS.add(Character.valueOf('\ud08e')); + charS.add(Character.valueOf('\ud08f')); + charS.add(Character.valueOf('\ud090')); + charS.add(Character.valueOf('\ud091')); + charS.add(Character.valueOf('\ud092')); + charS.add(Character.valueOf('\ud093')); + charS.add(Character.valueOf('\ud094')); + charS.add(Character.valueOf('\ud095')); + charS.add(Character.valueOf('\ud096')); + charS.add(Character.valueOf('\ud097')); + charS.add(Character.valueOf('\ud098')); + charS.add(Character.valueOf('\ud099')); + charS.add(Character.valueOf('\ud09a')); + charS.add(Character.valueOf('\ud09b')); + charS.add(Character.valueOf('\ud09c')); + charS.add(Character.valueOf('\ud09d')); + charS.add(Character.valueOf('\ud09e')); + charS.add(Character.valueOf('\ud09f')); + charS.add(Character.valueOf('\ud0a0')); + charS.add(Character.valueOf('\ud0a1')); + charS.add(Character.valueOf('\ud0a2')); + charS.add(Character.valueOf('\ud0a3')); + charS.add(Character.valueOf('\ud0a4')); + charS.add(Character.valueOf('\ud0a5')); + charS.add(Character.valueOf('\ud0a6')); + charS.add(Character.valueOf('\ud0a7')); + charS.add(Character.valueOf('\ud0a8')); + charS.add(Character.valueOf('\ud0a9')); + charS.add(Character.valueOf('\ud0aa')); + charS.add(Character.valueOf('\ud0ab')); + charS.add(Character.valueOf('\ud0ac')); + charS.add(Character.valueOf('\ud0ad')); + charS.add(Character.valueOf('\ud0ae')); + charS.add(Character.valueOf('\ud0af')); + charS.add(Character.valueOf('\ud0b0')); + charS.add(Character.valueOf('\ud0b1')); + charS.add(Character.valueOf('\ud0b2')); + charS.add(Character.valueOf('\ud0b3')); + charS.add(Character.valueOf('\ud0b4')); + charS.add(Character.valueOf('\ud0b5')); + charS.add(Character.valueOf('\ud0b6')); + charS.add(Character.valueOf('\ud0b7')); + charS.add(Character.valueOf('\ud0b8')); + charS.add(Character.valueOf('\ud0b9')); + charS.add(Character.valueOf('\ud0ba')); + charS.add(Character.valueOf('\ud0bb')); + charS.add(Character.valueOf('\ud0bc')); + charS.add(Character.valueOf('\ud03d')); + charS.add(Character.valueOf('\ud0be')); + charS.add(Character.valueOf('\ud0bf')); + charS.add(Character.valueOf('\ud0c0')); + charS.add(Character.valueOf('\ud0c1')); + charS.add(Character.valueOf('\ud0c2')); + charS.add(Character.valueOf('\ud0c3')); + charS.add(Character.valueOf('\ud0c4')); + charS.add(Character.valueOf('\ud0c5')); + charS.add(Character.valueOf('\ud0c6')); + charS.add(Character.valueOf('\ud0c7')); + charS.add(Character.valueOf('\ud0c8')); + charS.add(Character.valueOf('\ud0c9')); + charS.add(Character.valueOf('\ud0ca')); + charS.add(Character.valueOf('\ud0cb')); + charS.add(Character.valueOf('\ud0cc')); + charS.add(Character.valueOf('\ud0cd')); + charS.add(Character.valueOf('\ud0ce')); + charS.add(Character.valueOf('\ud0cf')); + charS.add(Character.valueOf('\ud0d0')); + charS.add(Character.valueOf('\ud0d1')); + charS.add(Character.valueOf('\ud0d2')); + charS.add(Character.valueOf('\ud0d3')); + charS.add(Character.valueOf('\ud0d4')); + charS.add(Character.valueOf('\ud0d5')); + charS.add(Character.valueOf('\ud0d6')); + charS.add(Character.valueOf('\ud0d7')); + charS.add(Character.valueOf('\ud0d8')); + charS.add(Character.valueOf('\ud0d9')); + charS.add(Character.valueOf('\ud0da')); + charS.add(Character.valueOf('\ud0db')); + charS.add(Character.valueOf('\ud0dc')); + charS.add(Character.valueOf('\ud0dd')); + charS.add(Character.valueOf('\ud0de')); + charS.add(Character.valueOf('\ud0df')); + charS.add(Character.valueOf('\ud0e0')); + charS.add(Character.valueOf('\ud0e1')); + charS.add(Character.valueOf('\ud0e2')); + charS.add(Character.valueOf('\ud0e3')); + charS.add(Character.valueOf('\ud0e4')); + charS.add(Character.valueOf('\ud0e5')); + charS.add(Character.valueOf('\ud0e6')); + charS.add(Character.valueOf('\ud0e7')); + charS.add(Character.valueOf('\ud0e8')); + charS.add(Character.valueOf('\ud0e9')); + charS.add(Character.valueOf('\ud0ea')); + charS.add(Character.valueOf('\ud0eb')); + charS.add(Character.valueOf('\ud0ec')); + charS.add(Character.valueOf('\ud0ed')); + charS.add(Character.valueOf('\ud0ee')); + charS.add(Character.valueOf('\ud0ef')); + charS.add(Character.valueOf('\ud0f0')); + charS.add(Character.valueOf('\ud0f1')); + charS.add(Character.valueOf('\ud0f2')); + charS.add(Character.valueOf('\ud0f3')); + charS.add(Character.valueOf('\ud0f4')); + charS.add(Character.valueOf('\ud0f5')); + charS.add(Character.valueOf('\ud0f6')); + charS.add(Character.valueOf('\ud0f7')); + charS.add(Character.valueOf('\ud0f8')); + charS.add(Character.valueOf('\ud0f9')); + charS.add(Character.valueOf('\ud0fa')); + charS.add(Character.valueOf('\ud0fb')); + charS.add(Character.valueOf('\ud0fc')); + charS.add(Character.valueOf('\ud0fd')); + charS.add(Character.valueOf('\ud0fe')); + charS.add(Character.valueOf('\ud0ff')); + charS.add(Character.valueOf('\ud0e8')); + charS.add(Character.valueOf('\ud0e9')); + charS.add(Character.valueOf('\ud0ea')); + charS.add(Character.valueOf('\ud0eb')); + charS.add(Character.valueOf('\ud0ec')); + charS.add(Character.valueOf('\ud0ed')); + charS.add(Character.valueOf('\ud0ee')); + charS.add(Character.valueOf('\ud0ef')); + charS.add(Character.valueOf('\ud0f0')); + charS.add(Character.valueOf('\ud0f1')); + charS.add(Character.valueOf('\ud0f2')); + charS.add(Character.valueOf('\ud0f3')); + charS.add(Character.valueOf('\ud0f4')); + charS.add(Character.valueOf('\ud0f5')); + charS.add(Character.valueOf('\ud0f6')); + charS.add(Character.valueOf('\ud0f7')); + charS.add(Character.valueOf('\ud0f8')); + charS.add(Character.valueOf('\ud0f9')); + charS.add(Character.valueOf('\ud0fa')); + charS.add(Character.valueOf('\ud0fb')); + charS.add(Character.valueOf('\ud0fc')); + charS.add(Character.valueOf('\ud0fd')); + charS.add(Character.valueOf('\ud0fe')); + charS.add(Character.valueOf('\ud0ff')); + charS.add(Character.valueOf('\ud100')); + charS.add(Character.valueOf('\ud101')); + charS.add(Character.valueOf('\ud102')); + charS.add(Character.valueOf('\ud103')); + charS.add(Character.valueOf('\ud104')); + charS.add(Character.valueOf('\ud105')); + charS.add(Character.valueOf('\ud106')); + charS.add(Character.valueOf('\ud107')); + charS.add(Character.valueOf('\ud108')); + charS.add(Character.valueOf('\ud109')); + charS.add(Character.valueOf('\ud10a')); + charS.add(Character.valueOf('\ud10b')); + charS.add(Character.valueOf('\ud10c')); + charS.add(Character.valueOf('\ud10d')); + charS.add(Character.valueOf('\ud10e')); + charS.add(Character.valueOf('\ud10f')); + charS.add(Character.valueOf('\ud110')); + charS.add(Character.valueOf('\ud111')); + charS.add(Character.valueOf('\ud112')); + charS.add(Character.valueOf('\ud113')); + charS.add(Character.valueOf('\ud114')); + charS.add(Character.valueOf('\ud115')); + charS.add(Character.valueOf('\ud116')); + charS.add(Character.valueOf('\ud117')); + charS.add(Character.valueOf('\ud118')); + charS.add(Character.valueOf('\ud119')); + charS.add(Character.valueOf('\ud11a')); + charS.add(Character.valueOf('\ud11b')); + charS.add(Character.valueOf('\ud11c')); + charS.add(Character.valueOf('\ud11d')); + charS.add(Character.valueOf('\ud11e')); + charS.add(Character.valueOf('\ud11f')); + charS.add(Character.valueOf('\ud120')); + charS.add(Character.valueOf('\ud121')); + charS.add(Character.valueOf('\ud122')); + charS.add(Character.valueOf('\ud123')); + charS.add(Character.valueOf('\ud124')); + charS.add(Character.valueOf('\ud125')); + charS.add(Character.valueOf('\ud126')); + charS.add(Character.valueOf('\ud127')); + charS.add(Character.valueOf('\ud128')); + charS.add(Character.valueOf('\ud129')); + charS.add(Character.valueOf('\ud12a')); + charS.add(Character.valueOf('\ud12b')); + charS.add(Character.valueOf('\ud12c')); + charS.add(Character.valueOf('\ud12d')); + charS.add(Character.valueOf('\ud12e')); + charS.add(Character.valueOf('\ud12f')); + charS.add(Character.valueOf('\ud130')); + charS.add(Character.valueOf('\ud131')); + charS.add(Character.valueOf('\ud132')); + charS.add(Character.valueOf('\ud133')); + charS.add(Character.valueOf('\ud134')); + charS.add(Character.valueOf('\ud135')); + charS.add(Character.valueOf('\ud136')); + charS.add(Character.valueOf('\ud137')); + charS.add(Character.valueOf('\ud138')); + charS.add(Character.valueOf('\ud139')); + charS.add(Character.valueOf('\ud13a')); + charS.add(Character.valueOf('\ud13b')); + charS.add(Character.valueOf('\ud13c')); + charS.add(Character.valueOf('\ud13d')); + charS.add(Character.valueOf('\ud13e')); + charS.add(Character.valueOf('\ud13f')); + charS.add(Character.valueOf('\ud140')); + charS.add(Character.valueOf('\ud141')); + charS.add(Character.valueOf('\ud142')); + charS.add(Character.valueOf('\ud143')); + charS.add(Character.valueOf('\ud144')); + charS.add(Character.valueOf('\ud145')); + charS.add(Character.valueOf('\ud146')); + charS.add(Character.valueOf('\ud147')); + charS.add(Character.valueOf('\ud148')); + charS.add(Character.valueOf('\ud149')); + charS.add(Character.valueOf('\ud14a')); + charS.add(Character.valueOf('\ud14b')); + charS.add(Character.valueOf('\ud14c')); + charS.add(Character.valueOf('\ud14d')); + charS.add(Character.valueOf('\ud14e')); + charS.add(Character.valueOf('\ud14f')); + charS.add(Character.valueOf('\ud150')); + charS.add(Character.valueOf('\ud151')); + charS.add(Character.valueOf('\ud152')); + charS.add(Character.valueOf('\ud153')); + charS.add(Character.valueOf('\ud154')); + charS.add(Character.valueOf('\ud155')); + charS.add(Character.valueOf('\ud156')); + charS.add(Character.valueOf('\ud157')); + charS.add(Character.valueOf('\ud158')); + charS.add(Character.valueOf('\ud159')); + charS.add(Character.valueOf('\ud15a')); + charS.add(Character.valueOf('\ud15b')); + charS.add(Character.valueOf('\ud15c')); + charS.add(Character.valueOf('\ud15d')); + charS.add(Character.valueOf('\ud15e')); + charS.add(Character.valueOf('\ud15f')); + charS.add(Character.valueOf('\ud160')); + charS.add(Character.valueOf('\ud161')); + charS.add(Character.valueOf('\ud162')); + charS.add(Character.valueOf('\ud163')); + charS.add(Character.valueOf('\ud164')); + charS.add(Character.valueOf('\ud165')); + charS.add(Character.valueOf('\ud166')); + charS.add(Character.valueOf('\ud167')); + charS.add(Character.valueOf('\ud168')); + charS.add(Character.valueOf('\ud169')); + charS.add(Character.valueOf('\ud16a')); + charS.add(Character.valueOf('\ud16b')); + charS.add(Character.valueOf('\ud16c')); + charS.add(Character.valueOf('\ud16d')); + charS.add(Character.valueOf('\ud16e')); + charS.add(Character.valueOf('\ud16f')); + charS.add(Character.valueOf('\ud170')); + charS.add(Character.valueOf('\ud171')); + charS.add(Character.valueOf('\ud172')); + charS.add(Character.valueOf('\ud173')); + charS.add(Character.valueOf('\ud174')); + charS.add(Character.valueOf('\ud175')); + charS.add(Character.valueOf('\ud176')); + charS.add(Character.valueOf('\ud177')); + charS.add(Character.valueOf('\ud178')); + charS.add(Character.valueOf('\ud179')); + charS.add(Character.valueOf('\ud17a')); + charS.add(Character.valueOf('\ud17b')); + charS.add(Character.valueOf('\ud17c')); + charS.add(Character.valueOf('\ud17d')); + charS.add(Character.valueOf('\ud17e')); + charS.add(Character.valueOf('\ud17f')); + charS.add(Character.valueOf('\ud180')); + charS.add(Character.valueOf('\ud181')); + charS.add(Character.valueOf('\ud182')); + charS.add(Character.valueOf('\ud183')); + charS.add(Character.valueOf('\ud184')); + charS.add(Character.valueOf('\ud185')); + charS.add(Character.valueOf('\ud186')); + charS.add(Character.valueOf('\ud187')); + charS.add(Character.valueOf('\ud188')); + charS.add(Character.valueOf('\ud189')); + charS.add(Character.valueOf('\ud18a')); + charS.add(Character.valueOf('\ud18b')); + charS.add(Character.valueOf('\ud18c')); + charS.add(Character.valueOf('\ud18d')); + charS.add(Character.valueOf('\ud18e')); + charS.add(Character.valueOf('\ud18f')); + charS.add(Character.valueOf('\ud190')); + charS.add(Character.valueOf('\ud191')); + charS.add(Character.valueOf('\ud192')); + charS.add(Character.valueOf('\ud193')); + charS.add(Character.valueOf('\ud194')); + charS.add(Character.valueOf('\ud195')); + charS.add(Character.valueOf('\ud196')); + charS.add(Character.valueOf('\ud197')); + charS.add(Character.valueOf('\ud198')); + charS.add(Character.valueOf('\ud199')); + charS.add(Character.valueOf('\ud19a')); + charS.add(Character.valueOf('\ud19b')); + charS.add(Character.valueOf('\ud19c')); + charS.add(Character.valueOf('\ud19d')); + charS.add(Character.valueOf('\ud19e')); + charS.add(Character.valueOf('\ud19f')); + charS.add(Character.valueOf('\ud1a0')); + charS.add(Character.valueOf('\ud1a1')); + charS.add(Character.valueOf('\ud1a2')); + charS.add(Character.valueOf('\ud1a3')); + charS.add(Character.valueOf('\ud1a4')); + charS.add(Character.valueOf('\ud1a5')); + charS.add(Character.valueOf('\ud1a6')); + charS.add(Character.valueOf('\ud1a7')); + charS.add(Character.valueOf('\ud1a8')); + charS.add(Character.valueOf('\ud1a9')); + charS.add(Character.valueOf('\ud1aa')); + charS.add(Character.valueOf('\ud1ab')); + charS.add(Character.valueOf('\ud1ac')); + charS.add(Character.valueOf('\ud1ad')); + charS.add(Character.valueOf('\ud1ae')); + charS.add(Character.valueOf('\ud1af')); + charS.add(Character.valueOf('\ud1b0')); + charS.add(Character.valueOf('\ud1b1')); + charS.add(Character.valueOf('\ud1b2')); + charS.add(Character.valueOf('\ud1b3')); + charS.add(Character.valueOf('\ud1b4')); + charS.add(Character.valueOf('\ud1b5')); + charS.add(Character.valueOf('\ud1b6')); + charS.add(Character.valueOf('\ud1b7')); + charS.add(Character.valueOf('\ud1b8')); + charS.add(Character.valueOf('\ud1b9')); + charS.add(Character.valueOf('\ud1ba')); + charS.add(Character.valueOf('\ud1bb')); + charS.add(Character.valueOf('\ud1bc')); + charS.add(Character.valueOf('\ud13d')); + charS.add(Character.valueOf('\ud1be')); + charS.add(Character.valueOf('\ud1bf')); + charS.add(Character.valueOf('\ud1c0')); + charS.add(Character.valueOf('\ud1c1')); + charS.add(Character.valueOf('\ud1c2')); + charS.add(Character.valueOf('\ud1c3')); + charS.add(Character.valueOf('\ud1c4')); + charS.add(Character.valueOf('\ud1c5')); + charS.add(Character.valueOf('\ud1c6')); + charS.add(Character.valueOf('\ud1c7')); + charS.add(Character.valueOf('\ud1c8')); + charS.add(Character.valueOf('\ud1c9')); + charS.add(Character.valueOf('\ud1ca')); + charS.add(Character.valueOf('\ud1cb')); + charS.add(Character.valueOf('\ud1cc')); + charS.add(Character.valueOf('\ud1cd')); + charS.add(Character.valueOf('\ud1ce')); + charS.add(Character.valueOf('\ud1cf')); + charS.add(Character.valueOf('\ud1d0')); + charS.add(Character.valueOf('\ud1d1')); + charS.add(Character.valueOf('\ud1d2')); + charS.add(Character.valueOf('\ud1d3')); + charS.add(Character.valueOf('\ud1d4')); + charS.add(Character.valueOf('\ud1d5')); + charS.add(Character.valueOf('\ud1d6')); + charS.add(Character.valueOf('\ud1d7')); + charS.add(Character.valueOf('\ud1d8')); + charS.add(Character.valueOf('\ud1d9')); + charS.add(Character.valueOf('\ud1da')); + charS.add(Character.valueOf('\ud1db')); + charS.add(Character.valueOf('\ud1dc')); + charS.add(Character.valueOf('\ud1dd')); + charS.add(Character.valueOf('\ud1de')); + charS.add(Character.valueOf('\ud1df')); + charS.add(Character.valueOf('\ud1e0')); + charS.add(Character.valueOf('\ud1e1')); + charS.add(Character.valueOf('\ud1e2')); + charS.add(Character.valueOf('\ud1e3')); + charS.add(Character.valueOf('\ud1e4')); + charS.add(Character.valueOf('\ud1e5')); + charS.add(Character.valueOf('\ud1e6')); + charS.add(Character.valueOf('\ud1e7')); + charS.add(Character.valueOf('\ud1e8')); + charS.add(Character.valueOf('\ud1e9')); + charS.add(Character.valueOf('\ud1ea')); + charS.add(Character.valueOf('\ud1eb')); + charS.add(Character.valueOf('\ud1ec')); + charS.add(Character.valueOf('\ud1ed')); + charS.add(Character.valueOf('\ud1ee')); + charS.add(Character.valueOf('\ud1ef')); + charS.add(Character.valueOf('\ud1f0')); + charS.add(Character.valueOf('\ud1f1')); + charS.add(Character.valueOf('\ud1f2')); + charS.add(Character.valueOf('\ud1f3')); + charS.add(Character.valueOf('\ud1f4')); + charS.add(Character.valueOf('\ud1f5')); + charS.add(Character.valueOf('\ud1f6')); + charS.add(Character.valueOf('\ud1f7')); + charS.add(Character.valueOf('\ud1f8')); + charS.add(Character.valueOf('\ud1f9')); + charS.add(Character.valueOf('\ud1fa')); + charS.add(Character.valueOf('\ud1fb')); + charS.add(Character.valueOf('\ud1fc')); + charS.add(Character.valueOf('\ud1fd')); + charS.add(Character.valueOf('\ud1fe')); + charS.add(Character.valueOf('\ud1ff')); + charS.add(Character.valueOf('\ud200')); + charS.add(Character.valueOf('\ud201')); + charS.add(Character.valueOf('\ud202')); + charS.add(Character.valueOf('\ud203')); + charS.add(Character.valueOf('\ud204')); + charS.add(Character.valueOf('\ud205')); + charS.add(Character.valueOf('\ud206')); + charS.add(Character.valueOf('\ud207')); + charS.add(Character.valueOf('\ud208')); + charS.add(Character.valueOf('\ud209')); + charS.add(Character.valueOf('\ud20a')); + charS.add(Character.valueOf('\ud20b')); + charS.add(Character.valueOf('\ud20c')); + charS.add(Character.valueOf('\ud20d')); + charS.add(Character.valueOf('\ud20e')); + charS.add(Character.valueOf('\ud20f')); + charS.add(Character.valueOf('\ud210')); + charS.add(Character.valueOf('\ud211')); + charS.add(Character.valueOf('\ud212')); + charS.add(Character.valueOf('\ud213')); + charS.add(Character.valueOf('\ud214')); + charS.add(Character.valueOf('\ud215')); + charS.add(Character.valueOf('\ud216')); + charS.add(Character.valueOf('\ud217')); + charS.add(Character.valueOf('\ud218')); + charS.add(Character.valueOf('\ud219')); + charS.add(Character.valueOf('\ud21a')); + charS.add(Character.valueOf('\ud21b')); + charS.add(Character.valueOf('\ud21c')); + charS.add(Character.valueOf('\ud21d')); + charS.add(Character.valueOf('\ud21e')); + charS.add(Character.valueOf('\ud21f')); + charS.add(Character.valueOf('\ud220')); + charS.add(Character.valueOf('\ud221')); + charS.add(Character.valueOf('\ud222')); + charS.add(Character.valueOf('\ud223')); + charS.add(Character.valueOf('\ud224')); + charS.add(Character.valueOf('\ud225')); + charS.add(Character.valueOf('\ud226')); + charS.add(Character.valueOf('\ud227')); + charS.add(Character.valueOf('\ud228')); + charS.add(Character.valueOf('\ud229')); + charS.add(Character.valueOf('\ud22a')); + charS.add(Character.valueOf('\ud22b')); + charS.add(Character.valueOf('\ud22c')); + charS.add(Character.valueOf('\ud22d')); + charS.add(Character.valueOf('\ud22e')); + charS.add(Character.valueOf('\ud22f')); + charS.add(Character.valueOf('\ud230')); + charS.add(Character.valueOf('\ud231')); + charS.add(Character.valueOf('\ud232')); + charS.add(Character.valueOf('\ud233')); + charS.add(Character.valueOf('\ud234')); + charS.add(Character.valueOf('\ud235')); + charS.add(Character.valueOf('\ud236')); + charS.add(Character.valueOf('\ud237')); + charS.add(Character.valueOf('\ud238')); + charS.add(Character.valueOf('\ud239')); + charS.add(Character.valueOf('\ud23a')); + charS.add(Character.valueOf('\ud23b')); + charS.add(Character.valueOf('\ud23c')); + charS.add(Character.valueOf('\ud23d')); + charS.add(Character.valueOf('\ud23e')); + charS.add(Character.valueOf('\ud23f')); + charS.add(Character.valueOf('\ud240')); + charS.add(Character.valueOf('\ud241')); + charS.add(Character.valueOf('\ud242')); + charS.add(Character.valueOf('\ud243')); + charS.add(Character.valueOf('\ud244')); + charS.add(Character.valueOf('\ud245')); + charS.add(Character.valueOf('\ud246')); + charS.add(Character.valueOf('\ud247')); + charS.add(Character.valueOf('\ud248')); + charS.add(Character.valueOf('\ud249')); + charS.add(Character.valueOf('\ud24a')); + charS.add(Character.valueOf('\ud24b')); + charS.add(Character.valueOf('\ud24c')); + charS.add(Character.valueOf('\ud24d')); + charS.add(Character.valueOf('\ud24e')); + charS.add(Character.valueOf('\ud24f')); + charS.add(Character.valueOf('\ud250')); + charS.add(Character.valueOf('\ud251')); + charS.add(Character.valueOf('\ud252')); + charS.add(Character.valueOf('\ud253')); + charS.add(Character.valueOf('\ud254')); + charS.add(Character.valueOf('\ud255')); + charS.add(Character.valueOf('\ud256')); + charS.add(Character.valueOf('\ud257')); + charS.add(Character.valueOf('\ud258')); + charS.add(Character.valueOf('\ud259')); + charS.add(Character.valueOf('\ud25a')); + charS.add(Character.valueOf('\ud25b')); + charS.add(Character.valueOf('\ud25c')); + charS.add(Character.valueOf('\ud25d')); + charS.add(Character.valueOf('\ud25e')); + charS.add(Character.valueOf('\ud25f')); + charS.add(Character.valueOf('\ud260')); + charS.add(Character.valueOf('\ud261')); + charS.add(Character.valueOf('\ud262')); + charS.add(Character.valueOf('\ud263')); + charS.add(Character.valueOf('\ud264')); + charS.add(Character.valueOf('\ud265')); + charS.add(Character.valueOf('\ud266')); + charS.add(Character.valueOf('\ud267')); + charS.add(Character.valueOf('\ud268')); + charS.add(Character.valueOf('\ud269')); + charS.add(Character.valueOf('\ud26a')); + charS.add(Character.valueOf('\ud26b')); + charS.add(Character.valueOf('\ud26c')); + charS.add(Character.valueOf('\ud26d')); + charS.add(Character.valueOf('\ud26e')); + charS.add(Character.valueOf('\ud26f')); + charS.add(Character.valueOf('\ud270')); + charS.add(Character.valueOf('\ud271')); + charS.add(Character.valueOf('\ud272')); + charS.add(Character.valueOf('\ud273')); + charS.add(Character.valueOf('\ud274')); + charS.add(Character.valueOf('\ud275')); + charS.add(Character.valueOf('\ud276')); + charS.add(Character.valueOf('\ud277')); + charS.add(Character.valueOf('\ud278')); + charS.add(Character.valueOf('\ud279')); + charS.add(Character.valueOf('\ud27a')); + charS.add(Character.valueOf('\ud27b')); + charS.add(Character.valueOf('\ud27c')); + charS.add(Character.valueOf('\ud27d')); + charS.add(Character.valueOf('\ud27e')); + charS.add(Character.valueOf('\ud27f')); + charS.add(Character.valueOf('\ud280')); + charS.add(Character.valueOf('\ud281')); + charS.add(Character.valueOf('\ud282')); + charS.add(Character.valueOf('\ud283')); + charS.add(Character.valueOf('\ud284')); + charS.add(Character.valueOf('\ud285')); + charS.add(Character.valueOf('\ud286')); + charS.add(Character.valueOf('\ud287')); + charS.add(Character.valueOf('\ud288')); + charS.add(Character.valueOf('\ud289')); + charS.add(Character.valueOf('\ud28a')); + charS.add(Character.valueOf('\ud28b')); + charS.add(Character.valueOf('\ud28c')); + charS.add(Character.valueOf('\ud28d')); + charS.add(Character.valueOf('\ud28e')); + charS.add(Character.valueOf('\ud28f')); + charS.add(Character.valueOf('\ud290')); + charS.add(Character.valueOf('\ud291')); + charS.add(Character.valueOf('\ud292')); + charS.add(Character.valueOf('\ud293')); + charS.add(Character.valueOf('\ud294')); + charS.add(Character.valueOf('\ud295')); + charS.add(Character.valueOf('\ud296')); + charS.add(Character.valueOf('\ud297')); + charS.add(Character.valueOf('\ud298')); + charS.add(Character.valueOf('\ud299')); + charS.add(Character.valueOf('\ud29a')); + charS.add(Character.valueOf('\ud29b')); + charS.add(Character.valueOf('\ud29c')); + charS.add(Character.valueOf('\ud29d')); + charS.add(Character.valueOf('\ud29e')); + charS.add(Character.valueOf('\ud29f')); + charS.add(Character.valueOf('\ud2a0')); + charS.add(Character.valueOf('\ud2a1')); + charS.add(Character.valueOf('\ud2a2')); + charS.add(Character.valueOf('\ud2a3')); + charS.add(Character.valueOf('\ud2a4')); + charS.add(Character.valueOf('\ud2a5')); + charS.add(Character.valueOf('\ud2a6')); + charS.add(Character.valueOf('\ud2a7')); + charS.add(Character.valueOf('\ud2a8')); + charS.add(Character.valueOf('\ud2a9')); + charS.add(Character.valueOf('\ud2aa')); + charS.add(Character.valueOf('\ud2ab')); + charS.add(Character.valueOf('\ud2ac')); + charS.add(Character.valueOf('\ud2ad')); + charS.add(Character.valueOf('\ud2ae')); + charS.add(Character.valueOf('\ud2af')); + charS.add(Character.valueOf('\ud2b0')); + charS.add(Character.valueOf('\ud2b1')); + charS.add(Character.valueOf('\ud2b2')); + charS.add(Character.valueOf('\ud2b3')); + charS.add(Character.valueOf('\ud2b4')); + charS.add(Character.valueOf('\ud2b5')); + charS.add(Character.valueOf('\ud2b6')); + charS.add(Character.valueOf('\ud2b7')); + charS.add(Character.valueOf('\ud2b8')); + charS.add(Character.valueOf('\ud2b9')); + charS.add(Character.valueOf('\ud2ba')); + charS.add(Character.valueOf('\ud2bb')); + charS.add(Character.valueOf('\ud2bc')); + charS.add(Character.valueOf('\ud23d')); + charS.add(Character.valueOf('\ud2be')); + charS.add(Character.valueOf('\ud2bf')); + charS.add(Character.valueOf('\ud2c0')); + charS.add(Character.valueOf('\ud2c1')); + charS.add(Character.valueOf('\ud2c2')); + charS.add(Character.valueOf('\ud2c3')); + charS.add(Character.valueOf('\ud2c4')); + charS.add(Character.valueOf('\ud2c5')); + charS.add(Character.valueOf('\ud2c6')); + charS.add(Character.valueOf('\ud2c7')); + charS.add(Character.valueOf('\ud2c8')); + charS.add(Character.valueOf('\ud2c9')); + charS.add(Character.valueOf('\ud2ca')); + charS.add(Character.valueOf('\ud2cb')); + charS.add(Character.valueOf('\ud2cc')); + charS.add(Character.valueOf('\ud2cd')); + charS.add(Character.valueOf('\ud2ce')); + charS.add(Character.valueOf('\ud2cf')); + charS.add(Character.valueOf('\ud2d0')); + charS.add(Character.valueOf('\ud2d1')); + charS.add(Character.valueOf('\ud2d2')); + charS.add(Character.valueOf('\ud2d3')); + charS.add(Character.valueOf('\ud2d4')); + charS.add(Character.valueOf('\ud2d5')); + charS.add(Character.valueOf('\ud2d6')); + charS.add(Character.valueOf('\ud2d7')); + charS.add(Character.valueOf('\ud2d8')); + charS.add(Character.valueOf('\ud2d9')); + charS.add(Character.valueOf('\ud2da')); + charS.add(Character.valueOf('\ud2db')); + charS.add(Character.valueOf('\ud2dc')); + charS.add(Character.valueOf('\ud2dd')); + charS.add(Character.valueOf('\ud2de')); + charS.add(Character.valueOf('\ud2df')); + charS.add(Character.valueOf('\ud2e0')); + charS.add(Character.valueOf('\ud2e1')); + charS.add(Character.valueOf('\ud2e2')); + charS.add(Character.valueOf('\ud2e3')); + charS.add(Character.valueOf('\ud2e4')); + charS.add(Character.valueOf('\ud2e5')); + charS.add(Character.valueOf('\ud2e6')); + charS.add(Character.valueOf('\ud2e7')); + charS.add(Character.valueOf('\ud2e8')); + charS.add(Character.valueOf('\ud2e9')); + charS.add(Character.valueOf('\ud2ea')); + charS.add(Character.valueOf('\ud2eb')); + charS.add(Character.valueOf('\ud2ec')); + charS.add(Character.valueOf('\ud2ed')); + charS.add(Character.valueOf('\ud2ee')); + charS.add(Character.valueOf('\ud2ef')); + charS.add(Character.valueOf('\ud2f0')); + charS.add(Character.valueOf('\ud2f1')); + charS.add(Character.valueOf('\ud2f2')); + charS.add(Character.valueOf('\ud2f3')); + charS.add(Character.valueOf('\ud2f4')); + charS.add(Character.valueOf('\ud2f5')); + charS.add(Character.valueOf('\ud2f6')); + charS.add(Character.valueOf('\ud2f7')); + charS.add(Character.valueOf('\ud2f8')); + charS.add(Character.valueOf('\ud2f9')); + charS.add(Character.valueOf('\ud2fa')); + charS.add(Character.valueOf('\ud2fb')); + charS.add(Character.valueOf('\ud2fc')); + charS.add(Character.valueOf('\ud2fd')); + charS.add(Character.valueOf('\ud2fe')); + charS.add(Character.valueOf('\ud2ff')); + charS.add(Character.valueOf('\ud300')); + charS.add(Character.valueOf('\ud301')); + charS.add(Character.valueOf('\ud302')); + charS.add(Character.valueOf('\ud303')); + charS.add(Character.valueOf('\ud304')); + charS.add(Character.valueOf('\ud305')); + charS.add(Character.valueOf('\ud306')); + charS.add(Character.valueOf('\ud307')); + charS.add(Character.valueOf('\ud308')); + charS.add(Character.valueOf('\ud309')); + charS.add(Character.valueOf('\ud30a')); + charS.add(Character.valueOf('\ud30b')); + charS.add(Character.valueOf('\ud30c')); + charS.add(Character.valueOf('\ud30d')); + charS.add(Character.valueOf('\ud30e')); + charS.add(Character.valueOf('\ud30f')); + charS.add(Character.valueOf('\ud310')); + charS.add(Character.valueOf('\ud311')); + charS.add(Character.valueOf('\ud312')); + charS.add(Character.valueOf('\ud313')); + charS.add(Character.valueOf('\ud314')); + charS.add(Character.valueOf('\ud315')); + charS.add(Character.valueOf('\ud316')); + charS.add(Character.valueOf('\ud317')); + charS.add(Character.valueOf('\ud318')); + charS.add(Character.valueOf('\ud319')); + charS.add(Character.valueOf('\ud31a')); + charS.add(Character.valueOf('\ud31b')); + charS.add(Character.valueOf('\ud31c')); + charS.add(Character.valueOf('\ud31d')); + charS.add(Character.valueOf('\ud31e')); + charS.add(Character.valueOf('\ud31f')); + charS.add(Character.valueOf('\ud320')); + charS.add(Character.valueOf('\ud321')); + charS.add(Character.valueOf('\ud322')); + charS.add(Character.valueOf('\ud323')); + charS.add(Character.valueOf('\ud324')); + charS.add(Character.valueOf('\ud325')); + charS.add(Character.valueOf('\ud326')); + charS.add(Character.valueOf('\ud327')); + charS.add(Character.valueOf('\ud328')); + charS.add(Character.valueOf('\ud329')); + charS.add(Character.valueOf('\ud32a')); + charS.add(Character.valueOf('\ud32b')); + charS.add(Character.valueOf('\ud32c')); + charS.add(Character.valueOf('\ud32d')); + charS.add(Character.valueOf('\ud32e')); + charS.add(Character.valueOf('\ud32f')); + charS.add(Character.valueOf('\ud330')); + charS.add(Character.valueOf('\ud331')); + charS.add(Character.valueOf('\ud332')); + charS.add(Character.valueOf('\ud333')); + charS.add(Character.valueOf('\ud334')); + charS.add(Character.valueOf('\ud335')); + charS.add(Character.valueOf('\ud336')); + charS.add(Character.valueOf('\ud337')); + charS.add(Character.valueOf('\ud338')); + charS.add(Character.valueOf('\ud339')); + charS.add(Character.valueOf('\ud33a')); + charS.add(Character.valueOf('\ud33b')); + charS.add(Character.valueOf('\ud33c')); + charS.add(Character.valueOf('\ud33d')); + charS.add(Character.valueOf('\ud33e')); + charS.add(Character.valueOf('\ud33f')); + charS.add(Character.valueOf('\ud340')); + charS.add(Character.valueOf('\ud341')); + charS.add(Character.valueOf('\ud342')); + charS.add(Character.valueOf('\ud343')); + charS.add(Character.valueOf('\ud344')); + charS.add(Character.valueOf('\ud345')); + charS.add(Character.valueOf('\ud346')); + charS.add(Character.valueOf('\ud347')); + charS.add(Character.valueOf('\ud348')); + charS.add(Character.valueOf('\ud349')); + charS.add(Character.valueOf('\ud34a')); + charS.add(Character.valueOf('\ud34b')); + charS.add(Character.valueOf('\ud34c')); + charS.add(Character.valueOf('\ud34d')); + charS.add(Character.valueOf('\ud34e')); + charS.add(Character.valueOf('\ud34f')); + charS.add(Character.valueOf('\ud350')); + charS.add(Character.valueOf('\ud351')); + charS.add(Character.valueOf('\ud352')); + charS.add(Character.valueOf('\ud353')); + charS.add(Character.valueOf('\ud354')); + charS.add(Character.valueOf('\ud355')); + charS.add(Character.valueOf('\ud356')); + charS.add(Character.valueOf('\ud357')); + charS.add(Character.valueOf('\ud358')); + charS.add(Character.valueOf('\ud359')); + charS.add(Character.valueOf('\ud35a')); + charS.add(Character.valueOf('\ud35b')); + charS.add(Character.valueOf('\ud35c')); + charS.add(Character.valueOf('\ud35d')); + charS.add(Character.valueOf('\ud35e')); + charS.add(Character.valueOf('\ud35f')); + charS.add(Character.valueOf('\ud360')); + charS.add(Character.valueOf('\ud361')); + charS.add(Character.valueOf('\ud362')); + charS.add(Character.valueOf('\ud363')); + charS.add(Character.valueOf('\ud364')); + charS.add(Character.valueOf('\ud365')); + charS.add(Character.valueOf('\ud366')); + charS.add(Character.valueOf('\ud367')); + charS.add(Character.valueOf('\ud368')); + charS.add(Character.valueOf('\ud369')); + charS.add(Character.valueOf('\ud36a')); + charS.add(Character.valueOf('\ud36b')); + charS.add(Character.valueOf('\ud36c')); + charS.add(Character.valueOf('\ud36d')); + charS.add(Character.valueOf('\ud36e')); + charS.add(Character.valueOf('\ud36f')); + charS.add(Character.valueOf('\ud370')); + charS.add(Character.valueOf('\ud371')); + charS.add(Character.valueOf('\ud372')); + charS.add(Character.valueOf('\ud373')); + charS.add(Character.valueOf('\ud374')); + charS.add(Character.valueOf('\ud375')); + charS.add(Character.valueOf('\ud376')); + charS.add(Character.valueOf('\ud377')); + charS.add(Character.valueOf('\ud378')); + charS.add(Character.valueOf('\ud379')); + charS.add(Character.valueOf('\ud37a')); + charS.add(Character.valueOf('\ud37b')); + charS.add(Character.valueOf('\ud37c')); + charS.add(Character.valueOf('\ud37d')); + charS.add(Character.valueOf('\ud37e')); + charS.add(Character.valueOf('\ud37f')); + charS.add(Character.valueOf('\ud380')); + charS.add(Character.valueOf('\ud381')); + charS.add(Character.valueOf('\ud382')); + charS.add(Character.valueOf('\ud383')); + charS.add(Character.valueOf('\ud384')); + charS.add(Character.valueOf('\ud385')); + charS.add(Character.valueOf('\ud386')); + charS.add(Character.valueOf('\ud387')); + charS.add(Character.valueOf('\ud388')); + charS.add(Character.valueOf('\ud389')); + charS.add(Character.valueOf('\ud38a')); + charS.add(Character.valueOf('\ud38b')); + charS.add(Character.valueOf('\ud38c')); + charS.add(Character.valueOf('\ud38d')); + charS.add(Character.valueOf('\ud38e')); + charS.add(Character.valueOf('\ud38f')); + charS.add(Character.valueOf('\ud390')); + charS.add(Character.valueOf('\ud391')); + charS.add(Character.valueOf('\ud392')); + charS.add(Character.valueOf('\ud393')); + charS.add(Character.valueOf('\ud394')); + charS.add(Character.valueOf('\ud395')); + charS.add(Character.valueOf('\ud396')); + charS.add(Character.valueOf('\ud397')); + charS.add(Character.valueOf('\ud398')); + charS.add(Character.valueOf('\ud399')); + charS.add(Character.valueOf('\ud39a')); + charS.add(Character.valueOf('\ud39b')); + charS.add(Character.valueOf('\ud39c')); + charS.add(Character.valueOf('\ud39d')); + charS.add(Character.valueOf('\ud39e')); + charS.add(Character.valueOf('\ud39f')); + charS.add(Character.valueOf('\ud3a0')); + charS.add(Character.valueOf('\ud3a1')); + charS.add(Character.valueOf('\ud3a2')); + charS.add(Character.valueOf('\ud3a3')); + charS.add(Character.valueOf('\ud3a4')); + charS.add(Character.valueOf('\ud3a5')); + charS.add(Character.valueOf('\ud3a6')); + charS.add(Character.valueOf('\ud3a7')); + charS.add(Character.valueOf('\ud3a8')); + charS.add(Character.valueOf('\ud3a9')); + charS.add(Character.valueOf('\ud3aa')); + charS.add(Character.valueOf('\ud3ab')); + charS.add(Character.valueOf('\ud3ac')); + charS.add(Character.valueOf('\ud3ad')); + charS.add(Character.valueOf('\ud3ae')); + charS.add(Character.valueOf('\ud3af')); + charS.add(Character.valueOf('\ud3b0')); + charS.add(Character.valueOf('\ud3b1')); + charS.add(Character.valueOf('\ud3b2')); + charS.add(Character.valueOf('\ud3b3')); + charS.add(Character.valueOf('\ud3b4')); + charS.add(Character.valueOf('\ud3b5')); + charS.add(Character.valueOf('\ud3b6')); + charS.add(Character.valueOf('\ud3b7')); + charS.add(Character.valueOf('\ud3b8')); + charS.add(Character.valueOf('\ud3b9')); + charS.add(Character.valueOf('\ud3ba')); + charS.add(Character.valueOf('\ud3bb')); + charS.add(Character.valueOf('\ud3bc')); + charS.add(Character.valueOf('\ud33d')); + charS.add(Character.valueOf('\ud3be')); + charS.add(Character.valueOf('\ud3bf')); + charS.add(Character.valueOf('\ud3c0')); + charS.add(Character.valueOf('\ud3c1')); + charS.add(Character.valueOf('\ud3c2')); + charS.add(Character.valueOf('\ud3c3')); + charS.add(Character.valueOf('\ud3c4')); + charS.add(Character.valueOf('\ud3c5')); + charS.add(Character.valueOf('\ud3c6')); + charS.add(Character.valueOf('\ud3c7')); + charS.add(Character.valueOf('\ud3c8')); + charS.add(Character.valueOf('\ud3c9')); + charS.add(Character.valueOf('\ud3ca')); + charS.add(Character.valueOf('\ud3cb')); + charS.add(Character.valueOf('\ud3cc')); + charS.add(Character.valueOf('\ud3cd')); + charS.add(Character.valueOf('\ud3ce')); + charS.add(Character.valueOf('\ud3cf')); + charS.add(Character.valueOf('\ud3d0')); + charS.add(Character.valueOf('\ud3d1')); + charS.add(Character.valueOf('\ud3d2')); + charS.add(Character.valueOf('\ud3d3')); + charS.add(Character.valueOf('\ud3d4')); + charS.add(Character.valueOf('\ud3d5')); + charS.add(Character.valueOf('\ud3d6')); + charS.add(Character.valueOf('\ud3d7')); + charS.add(Character.valueOf('\ud3d8')); + charS.add(Character.valueOf('\ud3d9')); + charS.add(Character.valueOf('\ud3da')); + charS.add(Character.valueOf('\ud3db')); + charS.add(Character.valueOf('\ud3dc')); + charS.add(Character.valueOf('\ud3dd')); + charS.add(Character.valueOf('\ud3de')); + charS.add(Character.valueOf('\ud3df')); + charS.add(Character.valueOf('\ud3e0')); + charS.add(Character.valueOf('\ud3e1')); + charS.add(Character.valueOf('\ud3e2')); + charS.add(Character.valueOf('\ud3e3')); + charS.add(Character.valueOf('\ud3e4')); + charS.add(Character.valueOf('\ud3e5')); + charS.add(Character.valueOf('\ud3e6')); + charS.add(Character.valueOf('\ud3e7')); + charS.add(Character.valueOf('\ud3e8')); + charS.add(Character.valueOf('\ud3e9')); + charS.add(Character.valueOf('\ud3ea')); + charS.add(Character.valueOf('\ud3eb')); + charS.add(Character.valueOf('\ud3ec')); + charS.add(Character.valueOf('\ud3ed')); + charS.add(Character.valueOf('\ud3ee')); + charS.add(Character.valueOf('\ud3ef')); + charS.add(Character.valueOf('\ud3f0')); + charS.add(Character.valueOf('\ud3f1')); + charS.add(Character.valueOf('\ud3f2')); + charS.add(Character.valueOf('\ud3f3')); + charS.add(Character.valueOf('\ud3f4')); + charS.add(Character.valueOf('\ud3f5')); + charS.add(Character.valueOf('\ud3f6')); + charS.add(Character.valueOf('\ud3f7')); + charS.add(Character.valueOf('\ud3f8')); + charS.add(Character.valueOf('\ud3f9')); + charS.add(Character.valueOf('\ud3fa')); + charS.add(Character.valueOf('\ud3fb')); + charS.add(Character.valueOf('\ud3fc')); + charS.add(Character.valueOf('\ud3fd')); + charS.add(Character.valueOf('\ud3fe')); + charS.add(Character.valueOf('\ud3ff')); + charS.add(Character.valueOf('\ud400')); + charS.add(Character.valueOf('\ud401')); + charS.add(Character.valueOf('\ud402')); + charS.add(Character.valueOf('\ud403')); + charS.add(Character.valueOf('\ud404')); + charS.add(Character.valueOf('\ud405')); + charS.add(Character.valueOf('\ud406')); + charS.add(Character.valueOf('\ud407')); + charS.add(Character.valueOf('\ud408')); + charS.add(Character.valueOf('\ud409')); + charS.add(Character.valueOf('\ud40a')); + charS.add(Character.valueOf('\ud40b')); + charS.add(Character.valueOf('\ud40c')); + charS.add(Character.valueOf('\ud40d')); + charS.add(Character.valueOf('\ud40e')); + charS.add(Character.valueOf('\ud40f')); + charS.add(Character.valueOf('\ud410')); + charS.add(Character.valueOf('\ud411')); + charS.add(Character.valueOf('\ud412')); + charS.add(Character.valueOf('\ud413')); + charS.add(Character.valueOf('\ud414')); + charS.add(Character.valueOf('\ud415')); + charS.add(Character.valueOf('\ud416')); + charS.add(Character.valueOf('\ud417')); + charS.add(Character.valueOf('\ud418')); + charS.add(Character.valueOf('\ud419')); + charS.add(Character.valueOf('\ud41a')); + charS.add(Character.valueOf('\ud41b')); + charS.add(Character.valueOf('\ud41c')); + charS.add(Character.valueOf('\ud41d')); + charS.add(Character.valueOf('\ud41e')); + charS.add(Character.valueOf('\ud41f')); + charS.add(Character.valueOf('\ud420')); + charS.add(Character.valueOf('\ud421')); + charS.add(Character.valueOf('\ud422')); + charS.add(Character.valueOf('\ud423')); + charS.add(Character.valueOf('\ud424')); + charS.add(Character.valueOf('\ud425')); + charS.add(Character.valueOf('\ud426')); + charS.add(Character.valueOf('\ud427')); + charS.add(Character.valueOf('\ud428')); + charS.add(Character.valueOf('\ud429')); + charS.add(Character.valueOf('\ud42a')); + charS.add(Character.valueOf('\ud42b')); + charS.add(Character.valueOf('\ud42c')); + charS.add(Character.valueOf('\ud42d')); + charS.add(Character.valueOf('\ud42e')); + charS.add(Character.valueOf('\ud42f')); + charS.add(Character.valueOf('\ud430')); + charS.add(Character.valueOf('\ud431')); + charS.add(Character.valueOf('\ud432')); + charS.add(Character.valueOf('\ud433')); + charS.add(Character.valueOf('\ud434')); + charS.add(Character.valueOf('\ud435')); + charS.add(Character.valueOf('\ud436')); + charS.add(Character.valueOf('\ud437')); + charS.add(Character.valueOf('\ud438')); + charS.add(Character.valueOf('\ud439')); + charS.add(Character.valueOf('\ud43a')); + charS.add(Character.valueOf('\ud43b')); + charS.add(Character.valueOf('\ud43c')); + charS.add(Character.valueOf('\ud43d')); + charS.add(Character.valueOf('\ud43e')); + charS.add(Character.valueOf('\ud43f')); + charS.add(Character.valueOf('\ud440')); + charS.add(Character.valueOf('\ud441')); + charS.add(Character.valueOf('\ud442')); + charS.add(Character.valueOf('\ud443')); + charS.add(Character.valueOf('\ud444')); + charS.add(Character.valueOf('\ud445')); + charS.add(Character.valueOf('\ud446')); + charS.add(Character.valueOf('\ud447')); + charS.add(Character.valueOf('\ud448')); + charS.add(Character.valueOf('\ud449')); + charS.add(Character.valueOf('\ud44a')); + charS.add(Character.valueOf('\ud44b')); + charS.add(Character.valueOf('\ud44c')); + charS.add(Character.valueOf('\ud44d')); + charS.add(Character.valueOf('\ud44e')); + charS.add(Character.valueOf('\ud44f')); + charS.add(Character.valueOf('\ud450')); + charS.add(Character.valueOf('\ud451')); + charS.add(Character.valueOf('\ud452')); + charS.add(Character.valueOf('\ud453')); + charS.add(Character.valueOf('\ud454')); + charS.add(Character.valueOf('\ud455')); + charS.add(Character.valueOf('\ud456')); + charS.add(Character.valueOf('\ud457')); + charS.add(Character.valueOf('\ud458')); + charS.add(Character.valueOf('\ud459')); + charS.add(Character.valueOf('\ud45a')); + charS.add(Character.valueOf('\ud45b')); + charS.add(Character.valueOf('\ud45c')); + charS.add(Character.valueOf('\ud45d')); + charS.add(Character.valueOf('\ud45e')); + charS.add(Character.valueOf('\ud45f')); + charS.add(Character.valueOf('\ud460')); + charS.add(Character.valueOf('\ud461')); + charS.add(Character.valueOf('\ud462')); + charS.add(Character.valueOf('\ud463')); + charS.add(Character.valueOf('\ud464')); + charS.add(Character.valueOf('\ud465')); + charS.add(Character.valueOf('\ud466')); + charS.add(Character.valueOf('\ud467')); + charS.add(Character.valueOf('\ud468')); + charS.add(Character.valueOf('\ud469')); + charS.add(Character.valueOf('\ud46a')); + charS.add(Character.valueOf('\ud46b')); + charS.add(Character.valueOf('\ud46c')); + charS.add(Character.valueOf('\ud46d')); + charS.add(Character.valueOf('\ud46e')); + charS.add(Character.valueOf('\ud46f')); + charS.add(Character.valueOf('\ud470')); + charS.add(Character.valueOf('\ud471')); + charS.add(Character.valueOf('\ud472')); + charS.add(Character.valueOf('\ud473')); + charS.add(Character.valueOf('\ud474')); + charS.add(Character.valueOf('\ud475')); + charS.add(Character.valueOf('\ud476')); + charS.add(Character.valueOf('\ud477')); + charS.add(Character.valueOf('\ud478')); + charS.add(Character.valueOf('\ud479')); + charS.add(Character.valueOf('\ud47a')); + charS.add(Character.valueOf('\ud47b')); + charS.add(Character.valueOf('\ud47c')); + charS.add(Character.valueOf('\ud47d')); + charS.add(Character.valueOf('\ud47e')); + charS.add(Character.valueOf('\ud47f')); + charS.add(Character.valueOf('\ud480')); + charS.add(Character.valueOf('\ud481')); + charS.add(Character.valueOf('\ud482')); + charS.add(Character.valueOf('\ud483')); + charS.add(Character.valueOf('\ud484')); + charS.add(Character.valueOf('\ud485')); + charS.add(Character.valueOf('\ud486')); + charS.add(Character.valueOf('\ud487')); + charS.add(Character.valueOf('\ud488')); + charS.add(Character.valueOf('\ud489')); + charS.add(Character.valueOf('\ud48a')); + charS.add(Character.valueOf('\ud48b')); + charS.add(Character.valueOf('\ud48c')); + charS.add(Character.valueOf('\ud48d')); + charS.add(Character.valueOf('\ud48e')); + charS.add(Character.valueOf('\ud48f')); + charS.add(Character.valueOf('\ud490')); + charS.add(Character.valueOf('\ud491')); + charS.add(Character.valueOf('\ud492')); + charS.add(Character.valueOf('\ud493')); + charS.add(Character.valueOf('\ud494')); + charS.add(Character.valueOf('\ud495')); + charS.add(Character.valueOf('\ud496')); + charS.add(Character.valueOf('\ud497')); + charS.add(Character.valueOf('\ud498')); + charS.add(Character.valueOf('\ud499')); + charS.add(Character.valueOf('\ud49a')); + charS.add(Character.valueOf('\ud49b')); + charS.add(Character.valueOf('\ud49c')); + charS.add(Character.valueOf('\ud49d')); + charS.add(Character.valueOf('\ud49e')); + charS.add(Character.valueOf('\ud49f')); + charS.add(Character.valueOf('\ud4a0')); + charS.add(Character.valueOf('\ud4a1')); + charS.add(Character.valueOf('\ud4a2')); + charS.add(Character.valueOf('\ud4a3')); + charS.add(Character.valueOf('\ud4a4')); + charS.add(Character.valueOf('\ud4a5')); + charS.add(Character.valueOf('\ud4a6')); + charS.add(Character.valueOf('\ud4a7')); + charS.add(Character.valueOf('\ud4a8')); + charS.add(Character.valueOf('\ud4a9')); + charS.add(Character.valueOf('\ud4aa')); + charS.add(Character.valueOf('\ud4ab')); + charS.add(Character.valueOf('\ud4ac')); + charS.add(Character.valueOf('\ud4ad')); + charS.add(Character.valueOf('\ud4ae')); + charS.add(Character.valueOf('\ud4af')); + charS.add(Character.valueOf('\ud4b0')); + charS.add(Character.valueOf('\ud4b1')); + charS.add(Character.valueOf('\ud4b2')); + charS.add(Character.valueOf('\ud4b3')); + charS.add(Character.valueOf('\ud4b4')); + charS.add(Character.valueOf('\ud4b5')); + charS.add(Character.valueOf('\ud4b6')); + charS.add(Character.valueOf('\ud4b7')); + charS.add(Character.valueOf('\ud4b8')); + charS.add(Character.valueOf('\ud4b9')); + charS.add(Character.valueOf('\ud4ba')); + charS.add(Character.valueOf('\ud4bb')); + charS.add(Character.valueOf('\ud4bc')); + charS.add(Character.valueOf('\ud43d')); + charS.add(Character.valueOf('\ud4be')); + charS.add(Character.valueOf('\ud4bf')); + charS.add(Character.valueOf('\ud4c0')); + charS.add(Character.valueOf('\ud4c1')); + charS.add(Character.valueOf('\ud4c2')); + charS.add(Character.valueOf('\ud4c3')); + charS.add(Character.valueOf('\ud4c4')); + charS.add(Character.valueOf('\ud4c5')); + charS.add(Character.valueOf('\ud4c6')); + charS.add(Character.valueOf('\ud4c7')); + charS.add(Character.valueOf('\ud4c8')); + charS.add(Character.valueOf('\ud4c9')); + charS.add(Character.valueOf('\ud4ca')); + charS.add(Character.valueOf('\ud4cb')); + charS.add(Character.valueOf('\ud4cc')); + charS.add(Character.valueOf('\ud4cd')); + charS.add(Character.valueOf('\ud4ce')); + charS.add(Character.valueOf('\ud4cf')); + charS.add(Character.valueOf('\ud4d0')); + charS.add(Character.valueOf('\ud4d1')); + charS.add(Character.valueOf('\ud4d2')); + charS.add(Character.valueOf('\ud4d3')); + charS.add(Character.valueOf('\ud4d4')); + charS.add(Character.valueOf('\ud4d5')); + charS.add(Character.valueOf('\ud4d6')); + charS.add(Character.valueOf('\ud4d7')); + charS.add(Character.valueOf('\ud4d8')); + charS.add(Character.valueOf('\ud4d9')); + charS.add(Character.valueOf('\ud4da')); + charS.add(Character.valueOf('\ud4db')); + charS.add(Character.valueOf('\ud4dc')); + charS.add(Character.valueOf('\ud4dd')); + charS.add(Character.valueOf('\ud4de')); + charS.add(Character.valueOf('\ud4df')); + charS.add(Character.valueOf('\ud4e0')); + charS.add(Character.valueOf('\ud4e1')); + charS.add(Character.valueOf('\ud4e2')); + charS.add(Character.valueOf('\ud4e3')); + charS.add(Character.valueOf('\ud4e4')); + charS.add(Character.valueOf('\ud4e5')); + charS.add(Character.valueOf('\ud4e6')); + charS.add(Character.valueOf('\ud4e7')); + charS.add(Character.valueOf('\ud4e8')); + charS.add(Character.valueOf('\ud4e9')); + charS.add(Character.valueOf('\ud4ea')); + charS.add(Character.valueOf('\ud4eb')); + charS.add(Character.valueOf('\ud4ec')); + charS.add(Character.valueOf('\ud4ed')); + charS.add(Character.valueOf('\ud4ee')); + charS.add(Character.valueOf('\ud4ef')); + charS.add(Character.valueOf('\ud4f0')); + charS.add(Character.valueOf('\ud4f1')); + charS.add(Character.valueOf('\ud4f2')); + charS.add(Character.valueOf('\ud4f3')); + charS.add(Character.valueOf('\ud4f4')); + charS.add(Character.valueOf('\ud4f5')); + charS.add(Character.valueOf('\ud4f6')); + charS.add(Character.valueOf('\ud4f7')); + charS.add(Character.valueOf('\ud4f8')); + charS.add(Character.valueOf('\ud4f9')); + charS.add(Character.valueOf('\ud4fa')); + charS.add(Character.valueOf('\ud4fb')); + charS.add(Character.valueOf('\ud4fc')); + charS.add(Character.valueOf('\ud4fd')); + charS.add(Character.valueOf('\ud4fe')); + charS.add(Character.valueOf('\ud4ff')); + charS.add(Character.valueOf('\ud500')); + charS.add(Character.valueOf('\ud501')); + charS.add(Character.valueOf('\ud502')); + charS.add(Character.valueOf('\ud503')); + charS.add(Character.valueOf('\ud504')); + charS.add(Character.valueOf('\ud505')); + charS.add(Character.valueOf('\ud506')); + charS.add(Character.valueOf('\ud507')); + charS.add(Character.valueOf('\ud508')); + charS.add(Character.valueOf('\ud509')); + charS.add(Character.valueOf('\ud50a')); + charS.add(Character.valueOf('\ud50b')); + charS.add(Character.valueOf('\ud50c')); + charS.add(Character.valueOf('\ud50d')); + charS.add(Character.valueOf('\ud50e')); + charS.add(Character.valueOf('\ud50f')); + charS.add(Character.valueOf('\ud510')); + charS.add(Character.valueOf('\ud511')); + charS.add(Character.valueOf('\ud512')); + charS.add(Character.valueOf('\ud513')); + charS.add(Character.valueOf('\ud514')); + charS.add(Character.valueOf('\ud515')); + charS.add(Character.valueOf('\ud516')); + charS.add(Character.valueOf('\ud517')); + charS.add(Character.valueOf('\ud518')); + charS.add(Character.valueOf('\ud519')); + charS.add(Character.valueOf('\ud51a')); + charS.add(Character.valueOf('\ud51b')); + charS.add(Character.valueOf('\ud51c')); + charS.add(Character.valueOf('\ud51d')); + charS.add(Character.valueOf('\ud51e')); + charS.add(Character.valueOf('\ud51f')); + charS.add(Character.valueOf('\ud520')); + charS.add(Character.valueOf('\ud521')); + charS.add(Character.valueOf('\ud522')); + charS.add(Character.valueOf('\ud523')); + charS.add(Character.valueOf('\ud524')); + charS.add(Character.valueOf('\ud525')); + charS.add(Character.valueOf('\ud526')); + charS.add(Character.valueOf('\ud527')); + charS.add(Character.valueOf('\ud528')); + charS.add(Character.valueOf('\ud529')); + charS.add(Character.valueOf('\ud52a')); + charS.add(Character.valueOf('\ud52b')); + charS.add(Character.valueOf('\ud52c')); + charS.add(Character.valueOf('\ud52d')); + charS.add(Character.valueOf('\ud52e')); + charS.add(Character.valueOf('\ud52f')); + charS.add(Character.valueOf('\ud530')); + charS.add(Character.valueOf('\ud531')); + charS.add(Character.valueOf('\ud532')); + charS.add(Character.valueOf('\ud533')); + charS.add(Character.valueOf('\ud534')); + charS.add(Character.valueOf('\ud535')); + charS.add(Character.valueOf('\ud536')); + charS.add(Character.valueOf('\ud537')); + charS.add(Character.valueOf('\ud538')); + charS.add(Character.valueOf('\ud539')); + charS.add(Character.valueOf('\ud53a')); + charS.add(Character.valueOf('\ud53b')); + charS.add(Character.valueOf('\ud53c')); + charS.add(Character.valueOf('\ud53d')); + charS.add(Character.valueOf('\ud53e')); + charS.add(Character.valueOf('\ud53f')); + charS.add(Character.valueOf('\ud540')); + charS.add(Character.valueOf('\ud541')); + charS.add(Character.valueOf('\ud542')); + charS.add(Character.valueOf('\ud543')); + charS.add(Character.valueOf('\ud544')); + charS.add(Character.valueOf('\ud545')); + charS.add(Character.valueOf('\ud546')); + charS.add(Character.valueOf('\ud547')); + charS.add(Character.valueOf('\ud548')); + charS.add(Character.valueOf('\ud549')); + charS.add(Character.valueOf('\ud54a')); + charS.add(Character.valueOf('\ud54b')); + charS.add(Character.valueOf('\ud54c')); + charS.add(Character.valueOf('\ud54d')); + charS.add(Character.valueOf('\ud54e')); + charS.add(Character.valueOf('\ud54f')); + charS.add(Character.valueOf('\ud550')); + charS.add(Character.valueOf('\ud551')); + charS.add(Character.valueOf('\ud552')); + charS.add(Character.valueOf('\ud553')); + charS.add(Character.valueOf('\ud554')); + charS.add(Character.valueOf('\ud555')); + charS.add(Character.valueOf('\ud556')); + charS.add(Character.valueOf('\ud557')); + charS.add(Character.valueOf('\ud558')); + charS.add(Character.valueOf('\ud559')); + charS.add(Character.valueOf('\ud55a')); + charS.add(Character.valueOf('\ud55b')); + charS.add(Character.valueOf('\ud55c')); + charS.add(Character.valueOf('\ud55d')); + charS.add(Character.valueOf('\ud55e')); + charS.add(Character.valueOf('\ud55f')); + charS.add(Character.valueOf('\ud560')); + charS.add(Character.valueOf('\ud561')); + charS.add(Character.valueOf('\ud562')); + charS.add(Character.valueOf('\ud563')); + charS.add(Character.valueOf('\ud564')); + charS.add(Character.valueOf('\ud565')); + charS.add(Character.valueOf('\ud566')); + charS.add(Character.valueOf('\ud567')); + charS.add(Character.valueOf('\ud568')); + charS.add(Character.valueOf('\ud569')); + charS.add(Character.valueOf('\ud56a')); + charS.add(Character.valueOf('\ud56b')); + charS.add(Character.valueOf('\ud56c')); + charS.add(Character.valueOf('\ud56d')); + charS.add(Character.valueOf('\ud56e')); + charS.add(Character.valueOf('\ud56f')); + charS.add(Character.valueOf('\ud570')); + charS.add(Character.valueOf('\ud571')); + charS.add(Character.valueOf('\ud572')); + charS.add(Character.valueOf('\ud573')); + charS.add(Character.valueOf('\ud574')); + charS.add(Character.valueOf('\ud575')); + charS.add(Character.valueOf('\ud576')); + charS.add(Character.valueOf('\ud577')); + charS.add(Character.valueOf('\ud578')); + charS.add(Character.valueOf('\ud579')); + charS.add(Character.valueOf('\ud57a')); + charS.add(Character.valueOf('\ud57b')); + charS.add(Character.valueOf('\ud57c')); + charS.add(Character.valueOf('\ud57d')); + charS.add(Character.valueOf('\ud57e')); + charS.add(Character.valueOf('\ud57f')); + charS.add(Character.valueOf('\ud580')); + charS.add(Character.valueOf('\ud581')); + charS.add(Character.valueOf('\ud582')); + charS.add(Character.valueOf('\ud583')); + charS.add(Character.valueOf('\ud584')); + charS.add(Character.valueOf('\ud585')); + charS.add(Character.valueOf('\ud586')); + charS.add(Character.valueOf('\ud587')); + charS.add(Character.valueOf('\ud588')); + charS.add(Character.valueOf('\ud589')); + charS.add(Character.valueOf('\ud58a')); + charS.add(Character.valueOf('\ud58b')); + charS.add(Character.valueOf('\ud58c')); + charS.add(Character.valueOf('\ud58d')); + charS.add(Character.valueOf('\ud58e')); + charS.add(Character.valueOf('\ud58f')); + charS.add(Character.valueOf('\ud590')); + charS.add(Character.valueOf('\ud591')); + charS.add(Character.valueOf('\ud592')); + charS.add(Character.valueOf('\ud593')); + charS.add(Character.valueOf('\ud594')); + charS.add(Character.valueOf('\ud595')); + charS.add(Character.valueOf('\ud596')); + charS.add(Character.valueOf('\ud597')); + charS.add(Character.valueOf('\ud598')); + charS.add(Character.valueOf('\ud599')); + charS.add(Character.valueOf('\ud59a')); + charS.add(Character.valueOf('\ud59b')); + charS.add(Character.valueOf('\ud59c')); + charS.add(Character.valueOf('\ud59d')); + charS.add(Character.valueOf('\ud59e')); + charS.add(Character.valueOf('\ud59f')); + charS.add(Character.valueOf('\ud5a0')); + charS.add(Character.valueOf('\ud5a1')); + charS.add(Character.valueOf('\ud5a2')); + charS.add(Character.valueOf('\ud5a3')); + charS.add(Character.valueOf('\ud5a4')); + charS.add(Character.valueOf('\ud5a5')); + charS.add(Character.valueOf('\ud5a6')); + charS.add(Character.valueOf('\ud5a7')); + charS.add(Character.valueOf('\ud5a8')); + charS.add(Character.valueOf('\ud5a9')); + charS.add(Character.valueOf('\ud5aa')); + charS.add(Character.valueOf('\ud5ab')); + charS.add(Character.valueOf('\ud5ac')); + charS.add(Character.valueOf('\ud5ad')); + charS.add(Character.valueOf('\ud5ae')); + charS.add(Character.valueOf('\ud5af')); + charS.add(Character.valueOf('\ud5b0')); + charS.add(Character.valueOf('\ud5b1')); + charS.add(Character.valueOf('\ud5b2')); + charS.add(Character.valueOf('\ud5b3')); + charS.add(Character.valueOf('\ud5b4')); + charS.add(Character.valueOf('\ud5b5')); + charS.add(Character.valueOf('\ud5b6')); + charS.add(Character.valueOf('\ud5b7')); + charS.add(Character.valueOf('\ud5b8')); + charS.add(Character.valueOf('\ud5b9')); + charS.add(Character.valueOf('\ud5ba')); + charS.add(Character.valueOf('\ud5bb')); + charS.add(Character.valueOf('\ud5bc')); + charS.add(Character.valueOf('\ud53d')); + charS.add(Character.valueOf('\ud5be')); + charS.add(Character.valueOf('\ud5bf')); + charS.add(Character.valueOf('\ud5c0')); + charS.add(Character.valueOf('\ud5c1')); + charS.add(Character.valueOf('\ud5c2')); + charS.add(Character.valueOf('\ud5c3')); + charS.add(Character.valueOf('\ud5c4')); + charS.add(Character.valueOf('\ud5c5')); + charS.add(Character.valueOf('\ud5c6')); + charS.add(Character.valueOf('\ud5c7')); + charS.add(Character.valueOf('\ud5c8')); + charS.add(Character.valueOf('\ud5c9')); + charS.add(Character.valueOf('\ud5ca')); + charS.add(Character.valueOf('\ud5cb')); + charS.add(Character.valueOf('\ud5cc')); + charS.add(Character.valueOf('\ud5cd')); + charS.add(Character.valueOf('\ud5ce')); + charS.add(Character.valueOf('\ud5cf')); + charS.add(Character.valueOf('\ud5d0')); + charS.add(Character.valueOf('\ud5d1')); + charS.add(Character.valueOf('\ud5d2')); + charS.add(Character.valueOf('\ud5d3')); + charS.add(Character.valueOf('\ud5d4')); + charS.add(Character.valueOf('\ud5d5')); + charS.add(Character.valueOf('\ud5d6')); + charS.add(Character.valueOf('\ud5d7')); + charS.add(Character.valueOf('\ud5d8')); + charS.add(Character.valueOf('\ud5d9')); + charS.add(Character.valueOf('\ud5da')); + charS.add(Character.valueOf('\ud5db')); + charS.add(Character.valueOf('\ud5dc')); + charS.add(Character.valueOf('\ud5dd')); + charS.add(Character.valueOf('\ud5de')); + charS.add(Character.valueOf('\ud5df')); + charS.add(Character.valueOf('\ud5e0')); + charS.add(Character.valueOf('\ud5e1')); + charS.add(Character.valueOf('\ud5e2')); + charS.add(Character.valueOf('\ud5e3')); + charS.add(Character.valueOf('\ud5e4')); + charS.add(Character.valueOf('\ud5e5')); + charS.add(Character.valueOf('\ud5e6')); + charS.add(Character.valueOf('\ud5e7')); + charS.add(Character.valueOf('\ud5e8')); + charS.add(Character.valueOf('\ud5e9')); + charS.add(Character.valueOf('\ud5ea')); + charS.add(Character.valueOf('\ud5eb')); + charS.add(Character.valueOf('\ud5ec')); + charS.add(Character.valueOf('\ud5ed')); + charS.add(Character.valueOf('\ud5ee')); + charS.add(Character.valueOf('\ud5ef')); + charS.add(Character.valueOf('\ud5f0')); + charS.add(Character.valueOf('\ud5f1')); + charS.add(Character.valueOf('\ud5f2')); + charS.add(Character.valueOf('\ud5f3')); + charS.add(Character.valueOf('\ud5f4')); + charS.add(Character.valueOf('\ud5f5')); + charS.add(Character.valueOf('\ud5f6')); + charS.add(Character.valueOf('\ud5f7')); + charS.add(Character.valueOf('\ud5f8')); + charS.add(Character.valueOf('\ud5f9')); + charS.add(Character.valueOf('\ud5fa')); + charS.add(Character.valueOf('\ud5fb')); + charS.add(Character.valueOf('\ud5fc')); + charS.add(Character.valueOf('\ud5fd')); + charS.add(Character.valueOf('\ud5fe')); + charS.add(Character.valueOf('\ud5ff')); + charS.add(Character.valueOf('\ud600')); + charS.add(Character.valueOf('\ud601')); + charS.add(Character.valueOf('\ud602')); + charS.add(Character.valueOf('\ud603')); + charS.add(Character.valueOf('\ud604')); + charS.add(Character.valueOf('\ud605')); + charS.add(Character.valueOf('\ud606')); + charS.add(Character.valueOf('\ud607')); + charS.add(Character.valueOf('\ud608')); + charS.add(Character.valueOf('\ud609')); + charS.add(Character.valueOf('\ud60a')); + charS.add(Character.valueOf('\ud60b')); + charS.add(Character.valueOf('\ud60c')); + charS.add(Character.valueOf('\ud60d')); + charS.add(Character.valueOf('\ud60e')); + charS.add(Character.valueOf('\ud60f')); + charS.add(Character.valueOf('\ud610')); + charS.add(Character.valueOf('\ud611')); + charS.add(Character.valueOf('\ud612')); + charS.add(Character.valueOf('\ud613')); + charS.add(Character.valueOf('\ud614')); + charS.add(Character.valueOf('\ud615')); + charS.add(Character.valueOf('\ud616')); + charS.add(Character.valueOf('\ud617')); + charS.add(Character.valueOf('\ud618')); + charS.add(Character.valueOf('\ud619')); + charS.add(Character.valueOf('\ud61a')); + charS.add(Character.valueOf('\ud61b')); + charS.add(Character.valueOf('\ud61c')); + charS.add(Character.valueOf('\ud61d')); + charS.add(Character.valueOf('\ud61e')); + charS.add(Character.valueOf('\ud61f')); + charS.add(Character.valueOf('\ud620')); + charS.add(Character.valueOf('\ud621')); + charS.add(Character.valueOf('\ud622')); + charS.add(Character.valueOf('\ud623')); + charS.add(Character.valueOf('\ud624')); + charS.add(Character.valueOf('\ud625')); + charS.add(Character.valueOf('\ud626')); + charS.add(Character.valueOf('\ud627')); + charS.add(Character.valueOf('\ud628')); + charS.add(Character.valueOf('\ud629')); + charS.add(Character.valueOf('\ud62a')); + charS.add(Character.valueOf('\ud62b')); + charS.add(Character.valueOf('\ud62c')); + charS.add(Character.valueOf('\ud62d')); + charS.add(Character.valueOf('\ud62e')); + charS.add(Character.valueOf('\ud62f')); + charS.add(Character.valueOf('\ud630')); + charS.add(Character.valueOf('\ud631')); + charS.add(Character.valueOf('\ud632')); + charS.add(Character.valueOf('\ud633')); + charS.add(Character.valueOf('\ud634')); + charS.add(Character.valueOf('\ud635')); + charS.add(Character.valueOf('\ud636')); + charS.add(Character.valueOf('\ud637')); + charS.add(Character.valueOf('\ud638')); + charS.add(Character.valueOf('\ud639')); + charS.add(Character.valueOf('\ud63a')); + charS.add(Character.valueOf('\ud63b')); + charS.add(Character.valueOf('\ud63c')); + charS.add(Character.valueOf('\ud63d')); + charS.add(Character.valueOf('\ud63e')); + charS.add(Character.valueOf('\ud63f')); + charS.add(Character.valueOf('\ud640')); + charS.add(Character.valueOf('\ud641')); + charS.add(Character.valueOf('\ud642')); + charS.add(Character.valueOf('\ud643')); + charS.add(Character.valueOf('\ud644')); + charS.add(Character.valueOf('\ud645')); + charS.add(Character.valueOf('\ud646')); + charS.add(Character.valueOf('\ud647')); + charS.add(Character.valueOf('\ud648')); + charS.add(Character.valueOf('\ud649')); + charS.add(Character.valueOf('\ud64a')); + charS.add(Character.valueOf('\ud64b')); + charS.add(Character.valueOf('\ud64c')); + charS.add(Character.valueOf('\ud64d')); + charS.add(Character.valueOf('\ud64e')); + charS.add(Character.valueOf('\ud64f')); + charS.add(Character.valueOf('\ud650')); + charS.add(Character.valueOf('\ud651')); + charS.add(Character.valueOf('\ud652')); + charS.add(Character.valueOf('\ud653')); + charS.add(Character.valueOf('\ud654')); + charS.add(Character.valueOf('\ud655')); + charS.add(Character.valueOf('\ud656')); + charS.add(Character.valueOf('\ud657')); + charS.add(Character.valueOf('\ud658')); + charS.add(Character.valueOf('\ud659')); + charS.add(Character.valueOf('\ud65a')); + charS.add(Character.valueOf('\ud65b')); + charS.add(Character.valueOf('\ud65c')); + charS.add(Character.valueOf('\ud65d')); + charS.add(Character.valueOf('\ud65e')); + charS.add(Character.valueOf('\ud65f')); + charS.add(Character.valueOf('\ud660')); + charS.add(Character.valueOf('\ud661')); + charS.add(Character.valueOf('\ud662')); + charS.add(Character.valueOf('\ud663')); + charS.add(Character.valueOf('\ud664')); + charS.add(Character.valueOf('\ud665')); + charS.add(Character.valueOf('\ud666')); + charS.add(Character.valueOf('\ud667')); + charS.add(Character.valueOf('\ud668')); + charS.add(Character.valueOf('\ud669')); + charS.add(Character.valueOf('\ud66a')); + charS.add(Character.valueOf('\ud66b')); + charS.add(Character.valueOf('\ud66c')); + charS.add(Character.valueOf('\ud66d')); + charS.add(Character.valueOf('\ud66e')); + charS.add(Character.valueOf('\ud66f')); + charS.add(Character.valueOf('\ud670')); + charS.add(Character.valueOf('\ud671')); + charS.add(Character.valueOf('\ud672')); + charS.add(Character.valueOf('\ud673')); + charS.add(Character.valueOf('\ud674')); + charS.add(Character.valueOf('\ud675')); + charS.add(Character.valueOf('\ud676')); + charS.add(Character.valueOf('\ud677')); + charS.add(Character.valueOf('\ud678')); + charS.add(Character.valueOf('\ud679')); + charS.add(Character.valueOf('\ud67a')); + charS.add(Character.valueOf('\ud67b')); + charS.add(Character.valueOf('\ud67c')); + charS.add(Character.valueOf('\ud67d')); + charS.add(Character.valueOf('\ud67e')); + charS.add(Character.valueOf('\ud67f')); + charS.add(Character.valueOf('\ud680')); + charS.add(Character.valueOf('\ud681')); + charS.add(Character.valueOf('\ud682')); + charS.add(Character.valueOf('\ud683')); + charS.add(Character.valueOf('\ud684')); + charS.add(Character.valueOf('\ud685')); + charS.add(Character.valueOf('\ud686')); + charS.add(Character.valueOf('\ud687')); + charS.add(Character.valueOf('\ud688')); + charS.add(Character.valueOf('\ud689')); + charS.add(Character.valueOf('\ud68a')); + charS.add(Character.valueOf('\ud68b')); + charS.add(Character.valueOf('\ud68c')); + charS.add(Character.valueOf('\ud68d')); + charS.add(Character.valueOf('\ud68e')); + charS.add(Character.valueOf('\ud68f')); + charS.add(Character.valueOf('\ud690')); + charS.add(Character.valueOf('\ud691')); + charS.add(Character.valueOf('\ud692')); + charS.add(Character.valueOf('\ud693')); + charS.add(Character.valueOf('\ud694')); + charS.add(Character.valueOf('\ud695')); + charS.add(Character.valueOf('\ud696')); + charS.add(Character.valueOf('\ud697')); + charS.add(Character.valueOf('\ud698')); + charS.add(Character.valueOf('\ud699')); + charS.add(Character.valueOf('\ud69a')); + charS.add(Character.valueOf('\ud69b')); + charS.add(Character.valueOf('\ud69c')); + charS.add(Character.valueOf('\ud69d')); + charS.add(Character.valueOf('\ud69e')); + charS.add(Character.valueOf('\ud69f')); + charS.add(Character.valueOf('\ud6a0')); + charS.add(Character.valueOf('\ud6a1')); + charS.add(Character.valueOf('\ud6a2')); + charS.add(Character.valueOf('\ud6a3')); + charS.add(Character.valueOf('\ud6a4')); + charS.add(Character.valueOf('\ud6a5')); + charS.add(Character.valueOf('\ud6a6')); + charS.add(Character.valueOf('\ud6a7')); + charS.add(Character.valueOf('\ud6a8')); + charS.add(Character.valueOf('\ud6a9')); + charS.add(Character.valueOf('\ud6aa')); + charS.add(Character.valueOf('\ud6ab')); + charS.add(Character.valueOf('\ud6ac')); + charS.add(Character.valueOf('\ud6ad')); + charS.add(Character.valueOf('\ud6ae')); + charS.add(Character.valueOf('\ud6af')); + charS.add(Character.valueOf('\ud6b0')); + charS.add(Character.valueOf('\ud6b1')); + charS.add(Character.valueOf('\ud6b2')); + charS.add(Character.valueOf('\ud6b3')); + charS.add(Character.valueOf('\ud6b4')); + charS.add(Character.valueOf('\ud6b5')); + charS.add(Character.valueOf('\ud6b6')); + charS.add(Character.valueOf('\ud6b7')); + charS.add(Character.valueOf('\ud6b8')); + charS.add(Character.valueOf('\ud6b9')); + charS.add(Character.valueOf('\ud6ba')); + charS.add(Character.valueOf('\ud6bb')); + charS.add(Character.valueOf('\ud6bc')); + charS.add(Character.valueOf('\ud63d')); + charS.add(Character.valueOf('\ud6be')); + charS.add(Character.valueOf('\ud6bf')); + charS.add(Character.valueOf('\ud6c0')); + charS.add(Character.valueOf('\ud6c1')); + charS.add(Character.valueOf('\ud6c2')); + charS.add(Character.valueOf('\ud6c3')); + charS.add(Character.valueOf('\ud6c4')); + charS.add(Character.valueOf('\ud6c5')); + charS.add(Character.valueOf('\ud6c6')); + charS.add(Character.valueOf('\ud6c7')); + charS.add(Character.valueOf('\ud6c8')); + charS.add(Character.valueOf('\ud6c9')); + charS.add(Character.valueOf('\ud6ca')); + charS.add(Character.valueOf('\ud6cb')); + charS.add(Character.valueOf('\ud6cc')); + charS.add(Character.valueOf('\ud6cd')); + charS.add(Character.valueOf('\ud6ce')); + charS.add(Character.valueOf('\ud6cf')); + charS.add(Character.valueOf('\ud6d0')); + charS.add(Character.valueOf('\ud6d1')); + charS.add(Character.valueOf('\ud6d2')); + charS.add(Character.valueOf('\ud6d3')); + charS.add(Character.valueOf('\ud6d4')); + charS.add(Character.valueOf('\ud6d5')); + charS.add(Character.valueOf('\ud6d6')); + charS.add(Character.valueOf('\ud6d7')); + charS.add(Character.valueOf('\ud6d8')); + charS.add(Character.valueOf('\ud6d9')); + charS.add(Character.valueOf('\ud6da')); + charS.add(Character.valueOf('\ud6db')); + charS.add(Character.valueOf('\ud6dc')); + charS.add(Character.valueOf('\ud6dd')); + charS.add(Character.valueOf('\ud6de')); + charS.add(Character.valueOf('\ud6df')); + charS.add(Character.valueOf('\ud6e0')); + charS.add(Character.valueOf('\ud6e1')); + charS.add(Character.valueOf('\ud6e2')); + charS.add(Character.valueOf('\ud6e3')); + charS.add(Character.valueOf('\ud6e4')); + charS.add(Character.valueOf('\ud6e5')); + charS.add(Character.valueOf('\ud6e6')); + charS.add(Character.valueOf('\ud6e7')); + charS.add(Character.valueOf('\ud6e8')); + charS.add(Character.valueOf('\ud6e9')); + charS.add(Character.valueOf('\ud6ea')); + charS.add(Character.valueOf('\ud6eb')); + charS.add(Character.valueOf('\ud6ec')); + charS.add(Character.valueOf('\ud6ed')); + charS.add(Character.valueOf('\ud6ee')); + charS.add(Character.valueOf('\ud6ef')); + charS.add(Character.valueOf('\ud6f0')); + charS.add(Character.valueOf('\ud6f1')); + charS.add(Character.valueOf('\ud6f2')); + charS.add(Character.valueOf('\ud6f3')); + charS.add(Character.valueOf('\ud6f4')); + charS.add(Character.valueOf('\ud6f5')); + charS.add(Character.valueOf('\ud6f6')); + charS.add(Character.valueOf('\ud6f7')); + charS.add(Character.valueOf('\ud6f8')); + charS.add(Character.valueOf('\ud6f9')); + charS.add(Character.valueOf('\ud6fa')); + charS.add(Character.valueOf('\ud6fb')); + charS.add(Character.valueOf('\ud6fc')); + charS.add(Character.valueOf('\ud6fd')); + charS.add(Character.valueOf('\ud6fe')); + charS.add(Character.valueOf('\ud6ff')); + charS.add(Character.valueOf('\ud700')); + charS.add(Character.valueOf('\ud701')); + charS.add(Character.valueOf('\ud702')); + charS.add(Character.valueOf('\ud703')); + charS.add(Character.valueOf('\ud704')); + charS.add(Character.valueOf('\ud705')); + charS.add(Character.valueOf('\ud706')); + charS.add(Character.valueOf('\ud707')); + charS.add(Character.valueOf('\ud708')); + charS.add(Character.valueOf('\ud709')); + charS.add(Character.valueOf('\ud70a')); + charS.add(Character.valueOf('\ud70b')); + charS.add(Character.valueOf('\ud70c')); + charS.add(Character.valueOf('\ud70d')); + charS.add(Character.valueOf('\ud70e')); + charS.add(Character.valueOf('\ud70f')); + charS.add(Character.valueOf('\ud710')); + charS.add(Character.valueOf('\ud711')); + charS.add(Character.valueOf('\ud712')); + charS.add(Character.valueOf('\ud713')); + charS.add(Character.valueOf('\ud714')); + charS.add(Character.valueOf('\ud715')); + charS.add(Character.valueOf('\ud716')); + charS.add(Character.valueOf('\ud717')); + charS.add(Character.valueOf('\ud718')); + charS.add(Character.valueOf('\ud719')); + charS.add(Character.valueOf('\ud71a')); + charS.add(Character.valueOf('\ud71b')); + charS.add(Character.valueOf('\ud71c')); + charS.add(Character.valueOf('\ud71d')); + charS.add(Character.valueOf('\ud71e')); + charS.add(Character.valueOf('\ud71f')); + charS.add(Character.valueOf('\ud720')); + charS.add(Character.valueOf('\ud721')); + charS.add(Character.valueOf('\ud722')); + charS.add(Character.valueOf('\ud723')); + charS.add(Character.valueOf('\ud724')); + charS.add(Character.valueOf('\ud725')); + charS.add(Character.valueOf('\ud726')); + charS.add(Character.valueOf('\ud727')); + charS.add(Character.valueOf('\ud728')); + charS.add(Character.valueOf('\ud729')); + charS.add(Character.valueOf('\ud72a')); + charS.add(Character.valueOf('\ud72b')); + charS.add(Character.valueOf('\ud72c')); + charS.add(Character.valueOf('\ud72d')); + charS.add(Character.valueOf('\ud72e')); + charS.add(Character.valueOf('\ud72f')); + charS.add(Character.valueOf('\ud730')); + charS.add(Character.valueOf('\ud731')); + charS.add(Character.valueOf('\ud732')); + charS.add(Character.valueOf('\ud733')); + charS.add(Character.valueOf('\ud734')); + charS.add(Character.valueOf('\ud735')); + charS.add(Character.valueOf('\ud736')); + charS.add(Character.valueOf('\ud737')); + charS.add(Character.valueOf('\ud738')); + charS.add(Character.valueOf('\ud739')); + charS.add(Character.valueOf('\ud73a')); + charS.add(Character.valueOf('\ud73b')); + charS.add(Character.valueOf('\ud73c')); + charS.add(Character.valueOf('\ud73d')); + charS.add(Character.valueOf('\ud73e')); + charS.add(Character.valueOf('\ud73f')); + charS.add(Character.valueOf('\ud740')); + charS.add(Character.valueOf('\ud741')); + charS.add(Character.valueOf('\ud742')); + charS.add(Character.valueOf('\ud743')); + charS.add(Character.valueOf('\ud744')); + charS.add(Character.valueOf('\ud745')); + charS.add(Character.valueOf('\ud746')); + charS.add(Character.valueOf('\ud747')); + charS.add(Character.valueOf('\ud748')); + charS.add(Character.valueOf('\ud749')); + charS.add(Character.valueOf('\ud74a')); + charS.add(Character.valueOf('\ud74b')); + charS.add(Character.valueOf('\ud74c')); + charS.add(Character.valueOf('\ud74d')); + charS.add(Character.valueOf('\ud74e')); + charS.add(Character.valueOf('\ud74f')); + charS.add(Character.valueOf('\ud750')); + charS.add(Character.valueOf('\ud751')); + charS.add(Character.valueOf('\ud752')); + charS.add(Character.valueOf('\ud753')); + charS.add(Character.valueOf('\ud754')); + charS.add(Character.valueOf('\ud755')); + charS.add(Character.valueOf('\ud756')); + charS.add(Character.valueOf('\ud757')); + charS.add(Character.valueOf('\ud758')); + charS.add(Character.valueOf('\ud759')); + charS.add(Character.valueOf('\ud75a')); + charS.add(Character.valueOf('\ud75b')); + charS.add(Character.valueOf('\ud75c')); + charS.add(Character.valueOf('\ud75d')); + charS.add(Character.valueOf('\ud75e')); + charS.add(Character.valueOf('\ud75f')); + charS.add(Character.valueOf('\ud760')); + charS.add(Character.valueOf('\ud761')); + charS.add(Character.valueOf('\ud762')); + charS.add(Character.valueOf('\ud763')); + charS.add(Character.valueOf('\ud764')); + charS.add(Character.valueOf('\ud765')); + charS.add(Character.valueOf('\ud766')); + charS.add(Character.valueOf('\ud767')); + charS.add(Character.valueOf('\ud768')); + charS.add(Character.valueOf('\ud769')); + charS.add(Character.valueOf('\ud76a')); + charS.add(Character.valueOf('\ud76b')); + charS.add(Character.valueOf('\ud76c')); + charS.add(Character.valueOf('\ud76d')); + charS.add(Character.valueOf('\ud76e')); + charS.add(Character.valueOf('\ud76f')); + charS.add(Character.valueOf('\ud770')); + charS.add(Character.valueOf('\ud771')); + charS.add(Character.valueOf('\ud772')); + charS.add(Character.valueOf('\ud773')); + charS.add(Character.valueOf('\ud774')); + charS.add(Character.valueOf('\ud775')); + charS.add(Character.valueOf('\ud776')); + charS.add(Character.valueOf('\ud777')); + charS.add(Character.valueOf('\ud778')); + charS.add(Character.valueOf('\ud779')); + charS.add(Character.valueOf('\ud77a')); + charS.add(Character.valueOf('\ud77b')); + charS.add(Character.valueOf('\ud77c')); + charS.add(Character.valueOf('\ud77d')); + charS.add(Character.valueOf('\ud77e')); + charS.add(Character.valueOf('\ud77f')); + charS.add(Character.valueOf('\ud780')); + charS.add(Character.valueOf('\ud781')); + charS.add(Character.valueOf('\ud782')); + charS.add(Character.valueOf('\ud783')); + charS.add(Character.valueOf('\ud784')); + charS.add(Character.valueOf('\ud785')); + charS.add(Character.valueOf('\ud786')); + charS.add(Character.valueOf('\ud787')); + charS.add(Character.valueOf('\ud788')); + charS.add(Character.valueOf('\ud789')); + charS.add(Character.valueOf('\ud78a')); + charS.add(Character.valueOf('\ud78b')); + charS.add(Character.valueOf('\ud78c')); + charS.add(Character.valueOf('\ud78d')); + charS.add(Character.valueOf('\ud78e')); + charS.add(Character.valueOf('\ud78f')); + charS.add(Character.valueOf('\ud790')); + charS.add(Character.valueOf('\ud791')); + charS.add(Character.valueOf('\ud792')); + charS.add(Character.valueOf('\ud793')); + charS.add(Character.valueOf('\ud794')); + charS.add(Character.valueOf('\ud795')); + charS.add(Character.valueOf('\ud796')); + charS.add(Character.valueOf('\ud797')); + charS.add(Character.valueOf('\ud798')); + charS.add(Character.valueOf('\ud799')); + charS.add(Character.valueOf('\ud79a')); + charS.add(Character.valueOf('\ud79b')); + charS.add(Character.valueOf('\ud79c')); + charS.add(Character.valueOf('\ud79d')); + charS.add(Character.valueOf('\ud79e')); + charS.add(Character.valueOf('\ud79f')); + charS.add(Character.valueOf('\ud7a0')); + charS.add(Character.valueOf('\ud7a1')); + charS.add(Character.valueOf('\ud7a2')); + charS.add(Character.valueOf('\ud7a3')); + return charS; + } + + static { + FMLLog.log("Thaumic Additions CORE >>> SYMBOLS", Level.INFO, "Loading symbols...", new Object[0]); + Stopwatch t = Stopwatch.createStarted(); + List charS = addCharEntries(); + chars = new char[charS.size()]; + + for(int ind = 0; ind < chars.length; ++ind) { + chars[ind] = ((Character)charS.get(ind)).charValue(); + } + + t.stop(); + FMLLog.log("Thaumic Additions CORE >>> SYMBOLS", Level.INFO, "Loaded " + charS.size() + " symbols in " + t.elapsed(TimeUnit.MILLISECONDS) + " ms", new Object[0]); + } +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/seal/SealEvent.java b/src/main/java/com/pengu/api/thaumicadditions/seal/SealEvent.java new file mode 100644 index 0000000..0b683b6 --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/seal/SealEvent.java @@ -0,0 +1,45 @@ +package com.pengu.api.thaumicadditions.seal; + +import com.pengu.thaumcraft.additions.utils.Seal; +import com.pengu.thaumcraft.additions.utils.SealCombo; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; + +public abstract class SealEvent { + + public abstract SealCombo getSealCombination(); + + public boolean canWorkWith3rdSymbol(Seal third) { + return false; + } + + public boolean requiredMultipleRenderPasses() { + return false; + } + + public int getRenderPasses() { + return 0; + } + + public ResourceLocation getRenderOverlay(int pass, World world, int x, int y, int z, NBTTagCompound specialTags) { + return null; + } + + public int getColorAppliedToPass(int pass) { + return -1; + } + + public abstract String[] getComboDesc(); + + public void sealTick(World world, int x, int y, int z, Seal seal1, Seal seal2, Seal seal3, NBTTagCompound extraNBT) {} + + public void sealInstalled(World world, int x, int y, int z, Seal seal1, Seal seal2, Seal seal3) {} + + public void sealUnInstalled(World world, int x, int y, int z, Seal seal1, Seal seal2, Seal seal3) {} + + public boolean onSealActivated(EntityPlayer player, World world, int x, int y, int z, int side, Seal seal1, Seal seal2, Seal seal3, NBTTagCompound extraNBT) { + return false; + } +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/seal/SealEventRegistry.java b/src/main/java/com/pengu/api/thaumicadditions/seal/SealEventRegistry.java new file mode 100644 index 0000000..a404652 --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/seal/SealEventRegistry.java @@ -0,0 +1,21 @@ +package com.pengu.api.thaumicadditions.seal; + +import com.pengu.api.thaumicadditions.seal.SealEvent; +import java.util.ArrayList; +import java.util.List; + +public class SealEventRegistry { + + private static final SealEventRegistry reg = new SealEventRegistry(); + public static final SealEventRegistry instance = reg; + public final List eventList = new ArrayList(); + + + public static void registerSealEvent(SealEvent event) { + if(!instance.eventList.contains(event)) { + instance.eventList.add(event); + } + + } + +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/slot/SlotShard.java b/src/main/java/com/pengu/api/thaumicadditions/slot/SlotShard.java new file mode 100644 index 0000000..1988950 --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/slot/SlotShard.java @@ -0,0 +1,22 @@ +package com.pengu.api.thaumicadditions.slot; + +import java.util.HashSet; +import net.minecraft.inventory.IInventory; +import net.minecraft.inventory.Slot; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class SlotShard extends Slot { + + public final HashSet blacklist; + + + public SlotShard(HashSet blacklist, IInventory inv, int id, int x, int y) { + super(inv, id, x, y); + this.blacklist = blacklist; + } + + public boolean func_75214_a(ItemStack item) { + return item != null && !this.blacklist.contains(item.func_77973_b()) && (item.func_77973_b().getClass().getSuperclass().getName().equalsIgnoreCase("thaumcraft.common.items.ItemShard") || item.func_77973_b().getClass().getName().equalsIgnoreCase("thaumcraft.common.items.ItemShard")); + } +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/tile/IUpgradable.java b/src/main/java/com/pengu/api/thaumicadditions/tile/IUpgradable.java new file mode 100644 index 0000000..d3e6eb4 --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/tile/IUpgradable.java @@ -0,0 +1,12 @@ +package com.pengu.api.thaumicadditions.tile; + +import com.pengu.api.thaumicadditions.tile.IUpgradable.EnumUpgradeType; + +public interface IUpgradable { + + boolean installed(EnumUpgradeType var1); + + boolean installable(EnumUpgradeType var1); + + boolean install(EnumUpgradeType var1); +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/tubesyst/ITubable.java b/src/main/java/com/pengu/api/thaumicadditions/tubesyst/ITubable.java new file mode 100644 index 0000000..93ee233 --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/tubesyst/ITubable.java @@ -0,0 +1,16 @@ +package com.pengu.api.thaumicadditions.tubesyst; + +import com.pengu.api.thaumicadditions.tubesyst.ITubeConnectable; +import com.pengu.api.thaumicadditions.tubesyst.ITubable.MagicType; +import net.minecraftforge.common.util.ForgeDirection; + +public interface ITubable extends ITubeConnectable { + + boolean canAccept(ForgeDirection var1, MagicType var2); + + boolean canExtract(ForgeDirection var1, MagicType var2); + + int ejectVis(MagicType var1, int var2, ForgeDirection var3); + + int acceptVis(MagicType var1, int var2, ForgeDirection var3); +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/tubesyst/ITubeConnectable.java b/src/main/java/com/pengu/api/thaumicadditions/tubesyst/ITubeConnectable.java new file mode 100644 index 0000000..c3f958d --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/tubesyst/ITubeConnectable.java @@ -0,0 +1,10 @@ +package com.pengu.api.thaumicadditions.tubesyst; + +import net.minecraftforge.common.util.ForgeDirection; + +public interface ITubeConnectable { + + boolean canConnect(ForgeDirection var1); + + boolean shouldExtendRenderingForTubes(ForgeDirection var1); +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/tubesyst/IVisTube.java b/src/main/java/com/pengu/api/thaumicadditions/tubesyst/IVisTube.java new file mode 100644 index 0000000..6215819 --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/tubesyst/IVisTube.java @@ -0,0 +1,25 @@ +package com.pengu.api.thaumicadditions.tubesyst; + +import java.util.Random; +import net.minecraft.world.World; + +public interface IVisTube { + + int getVis(); + + int getTaint(); + + void setVis(int var1); + + void setTaint(int var1); + + World world(); + + int x(); + + int y(); + + int z(); + + Random rand(); +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/tubesyst/VisTubeUpgrade.java b/src/main/java/com/pengu/api/thaumicadditions/tubesyst/VisTubeUpgrade.java new file mode 100644 index 0000000..1817022 --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/tubesyst/VisTubeUpgrade.java @@ -0,0 +1,66 @@ +package com.pengu.api.thaumicadditions.tubesyst; + +import com.pengu.api.thaumicadditions.tubesyst.IVisTube; +import com.pengu.api.thaumicadditions.util.ObjectStack; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; +import net.minecraft.item.Item; + +public abstract class VisTubeUpgrade { + + private static final Map tubes = new HashMap(); + private static final Map tubes_ = new HashMap(); + public final Item itemIn; + public final int metaIn; + public final String ident; + + + public VisTubeUpgrade(String mapping, Item item, int metadata) { + this.itemIn = item; + this.metaIn = metadata; + this.ident = mapping; + tubes.put(mapping, this); + tubes_.put(this.getItemUsedToUpgradeTube(), this); + } + + public abstract void onUpdate(IVisTube var1); + + public ObjectStack getItemUsedToUpgradeTube() { + return new ObjectStack(this.itemIn, this.metaIn); + } + + public static VisTubeUpgrade getUpgrade(String mapping) { + return (VisTubeUpgrade)tubes.get(mapping); + } + + public static VisTubeUpgrade getUpgrade(Item item, int metadata) { + Iterator var2 = tubes_.keySet().iterator(); + + ObjectStack stack; + do { + if(!var2.hasNext()) { + return null; + } + + stack = (ObjectStack)var2.next(); + } while(stack.itemIn != item || stack.metaIn != metadata); + + return (VisTubeUpgrade)tubes_.get(stack); + } + + public static Set getAllUpgradeNames() { + HashSet set = new HashSet(); + Iterator var1 = tubes.keySet().iterator(); + + while(var1.hasNext()) { + String s = (String)var1.next(); + set.add(s); + } + + return set; + } + +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/util/BlockStack.java b/src/main/java/com/pengu/api/thaumicadditions/util/BlockStack.java new file mode 100644 index 0000000..efacd2a --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/util/BlockStack.java @@ -0,0 +1,20 @@ +package com.pengu.api.thaumicadditions.util; + +import net.minecraft.block.Block; +import net.minecraft.world.World; + +public class BlockStack { + + public final Block blockIn; + public final int metaIn; + + + public BlockStack(Block block, int metadata) { + this.blockIn = block; + this.metaIn = metadata; + } + + public void put(World world, int x, int y, int z, boolean causeBlockUpdate) { + world.func_147465_d(x, y, z, this.blockIn, this.metaIn, causeBlockUpdate?3:2); + } +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/util/ObjectStack.java b/src/main/java/com/pengu/api/thaumicadditions/util/ObjectStack.java new file mode 100644 index 0000000..596a724 --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/util/ObjectStack.java @@ -0,0 +1,19 @@ +package com.pengu.api.thaumicadditions.util; + +import net.minecraft.item.Item; + +public class ObjectStack { + + public final Item itemIn; + public final int metaIn; + + + public ObjectStack(Item item, int metadata) { + this.itemIn = item; + this.metaIn = metadata; + } + + public boolean ignoreMetadata() { + return this.metaIn == 32767; + } +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/util/ReaderHelper.java b/src/main/java/com/pengu/api/thaumicadditions/util/ReaderHelper.java new file mode 100644 index 0000000..24b582e --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/util/ReaderHelper.java @@ -0,0 +1,36 @@ +package com.pengu.api.thaumicadditions.util; + +import java.io.BufferedReader; +import java.util.HashMap; +import java.util.Map; + +public class ReaderHelper { + + private Map map = new HashMap(); + + + public ReaderHelper gatherData(BufferedReader r) { + this.map = new HashMap(); + + try { + for(String str = r.readLine(); str != null; str = r.readLine()) { + str = str.replaceAll(" ", ""); + this.putFormated(str.split("=")[0], str.split("=")[1]); + } + } catch (Exception var3) { + ; + } + + return this; + } + + public String getSpecialData(String key) { + return (String)this.map.get(key); + } + + public void putFormated(String key, String value) { + value = value.replaceAll(" ", ""); + value = value.replaceAll("_-_", " "); + this.map.put(key, value); + } +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/worldgen/BasicStructure.java b/src/main/java/com/pengu/api/thaumicadditions/worldgen/BasicStructure.java new file mode 100644 index 0000000..5ae5b81 --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/worldgen/BasicStructure.java @@ -0,0 +1,49 @@ +package com.pengu.api.thaumicadditions.worldgen; + +import com.pengu.api.thaumicadditions.util.BlockStack; +import com.pengu.api.thaumicadditions.worldgen.IStructure; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ChunkCoordinates; +import net.minecraft.world.World; + +public class BasicStructure extends IStructure { + + public Map structureMap = new HashMap(); + public Map NBTMap = new HashMap(); + + + public Map getStructureMap() { + return this.structureMap; + } + + public void setStructureMap(Map map) { + this.structureMap = map; + } + + public Map getNBTMap() { + return this.NBTMap; + } + + public void setNBTMap(Map map) { + this.NBTMap = map; + } + + public void build(World world, int x, int y, int z, Object ... params) { + Iterator var6 = this.structureMap.keySet().iterator(); + + while(var6.hasNext()) { + ChunkCoordinates coord = (ChunkCoordinates)var6.next(); + BlockStack block = (BlockStack)this.structureMap.get(coord); + block.put(world, x + coord.field_71574_a, y + coord.field_71572_b, z + coord.field_71573_c, false); + TileEntity te = world.func_147438_o(x + coord.field_71574_a, y + coord.field_71572_b, z + coord.field_71573_c); + if(te != null && this.NBTMap.get(coord) != null) { + te.func_145839_a((NBTTagCompound)this.NBTMap.get(coord)); + } + } + + } +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/worldgen/IStructure.java b/src/main/java/com/pengu/api/thaumicadditions/worldgen/IStructure.java new file mode 100644 index 0000000..57e194c --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/worldgen/IStructure.java @@ -0,0 +1,61 @@ +package com.pengu.api.thaumicadditions.worldgen; + +import com.pengu.api.thaumicadditions.util.BlockStack; +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.common.registry.GameRegistry.UniqueIdentifier; +import java.io.BufferedWriter; +import java.util.Iterator; +import java.util.Map; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ChunkCoordinates; +import net.minecraft.world.World; + +public abstract class IStructure { + + public abstract Map getStructureMap(); + + public abstract void setStructureMap(Map var1); + + public abstract Map getNBTMap(); + + public abstract void setNBTMap(Map var1); + + public abstract void build(World var1, int var2, int var3, int var4, Object ... var5); + + public static void writeToBuffer(IStructure structure, BufferedWriter writer) { + try { + Map map = structure.getStructureMap(); + Map NBTmap = structure.getNBTMap(); + Iterator var4 = map.keySet().iterator(); + + while(var4.hasNext()) { + ChunkCoordinates coord = (ChunkCoordinates)var4.next(); + + try { + String key = "pos_" + coord.field_71574_a + ", " + coord.field_71572_b + ", " + coord.field_71573_c; + UniqueIdentifier ident = GameRegistry.findUniqueIdentifierFor(((BlockStack)map.get(coord)).blockIn); + String value = ident.modId + ":" + ident.name + "@" + ((BlockStack)map.get(coord)).metaIn; + writer.write(key + " = " + value); + writer.newLine(); + NBTTagCompound nbt = (NBTTagCompound)NBTmap.get(coord); + String keyNBT = "nbt_" + coord.field_71574_a + ", " + coord.field_71572_b + ", " + coord.field_71573_c; + String valueNBT = nbt != null?nbt.toString():""; + if(nbt != null) { + writer.write(keyNBT + " = " + valueNBT); + } + + if(nbt != null) { + writer.newLine(); + } + } catch (Throwable var12) { + ; + } + } + + writer.write("class = " + structure.getClass().getName()); + } catch (Exception var13) { + ; + } + + } +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/worldgen/StructureDefiner.java b/src/main/java/com/pengu/api/thaumicadditions/worldgen/StructureDefiner.java new file mode 100644 index 0000000..56d69bf --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/worldgen/StructureDefiner.java @@ -0,0 +1,145 @@ +package com.pengu.api.thaumicadditions.worldgen; + +import com.pengu.api.thaumicadditions.FakeCommandSender; +import com.pengu.api.thaumicadditions.util.BlockStack; +import java.io.BufferedReader; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.URL; +import java.util.HashMap; +import java.util.Map; +import net.minecraft.block.Block; +import net.minecraft.command.CommandBase; +import net.minecraft.nbt.JsonToNBT; +import net.minecraft.nbt.NBTBase; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ChunkCoordinates; + +public class StructureDefiner { + + public final Map map = new HashMap(); + public final Map nbts = new HashMap(); + public String Clazz = "mrdimka.api.thaumicadditions.worldgen.BasicStructure"; + + + public void gatherData(BufferedReader r) { + try { + String str = r.readLine(); + + while(str != null) { + str = str.replaceAll(" ", ""); + str = str.replaceAll("_-_", " "); + if(str.startsWith("url")) { + try { + InputStream start = (new URL(str.split("=")[1])).openStream(); + InputStreamReader x = new InputStreamReader(start); + BufferedReader y = new BufferedReader(x); + this.gatherData(y); + y.close(); + x.close(); + start.close(); + } catch (Throwable var15) { + ; + } + } + + int z; + int y1; + if(str.startsWith("nbt_")) { + str = str.substring("nbt_".length()); + String[] start2 = str.split("="); + String[] x2 = start2[0].split(","); + y1 = 0; + z = 0; + int name1 = 0; + boolean data1 = true; + + try { + y1 = Integer.valueOf(x2[0]).intValue(); + z = Integer.valueOf(x2[1]).intValue(); + name1 = Integer.valueOf(x2[2]).intValue(); + } catch (Exception var14) { + data1 = false; + } + + String pos1 = start2[1]; + + try { + NBTBase putBlock1 = JsonToNBT.func_150315_a(pos1); + if(data1 && putBlock1 instanceof NBTTagCompound) { + this.putNBT(y1, z, name1, (NBTTagCompound)putBlock1); + } + } catch (Throwable var13) { + ; + } + } else { + if(str.startsWith("class")) { + this.Clazz = str.split("=")[1]; + } + + String start1 = "pos_"; + if(!str.startsWith(start1) && !str.startsWith("url") && !str.startsWith("class") && !str.startsWith("nbt")) { + break; + } + + str = str.substring(start1.length()); + int x1 = 0; + y1 = 0; + z = 0; + String name = ""; + String[] data = str.split("="); + name = data[1]; + String[] pos = data[0].split(","); + boolean putBlock = true; + + try { + x1 = Integer.valueOf(pos[0]).intValue(); + y1 = Integer.valueOf(pos[1]).intValue(); + z = Integer.valueOf(pos[2]).intValue(); + } catch (Exception var12) { + putBlock = false; + } + + if(putBlock) { + this.putFormated(x1, y1, z, name); + } + + str = r.readLine(); + } + } + } catch (Exception var16) { + ; + } + + } + + public BlockStack getSpecialData(ChunkCoordinates key) { + return (BlockStack)this.map.get(key); + } + + public NBTTagCompound getSpecialNBT(ChunkCoordinates key) { + return (NBTTagCompound)this.nbts.get(key); + } + + public void putNBT(int x, int y, int z, NBTTagCompound nbt) { + this.nbts.put(new ChunkCoordinates(x, y, z), nbt); + } + + public void putFormated(int x, int y, int z, String unlocName) { + try { + Block block = CommandBase.func_147180_g(new FakeCommandSender(), unlocName.split("@")[0]); + BlockStack stack = null; + + try { + stack = new BlockStack(block, Integer.valueOf(unlocName.split("@")[1]).intValue()); + } catch (Throwable var8) { + stack = new BlockStack(block, 0); + } + + this.map.put(new ChunkCoordinates(x, y, z), stack); + } catch (Throwable var9) { + ; + } + + } +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/worldgen/StructureLoader.java b/src/main/java/com/pengu/api/thaumicadditions/worldgen/StructureLoader.java new file mode 100644 index 0000000..9a0a21c --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/worldgen/StructureLoader.java @@ -0,0 +1,40 @@ +package com.pengu.api.thaumicadditions.worldgen; + +import com.pengu.api.thaumicadditions.worldgen.BasicStructure; +import com.pengu.api.thaumicadditions.worldgen.IStructure; +import com.pengu.api.thaumicadditions.worldgen.StructureDefiner; +import java.io.BufferedReader; +import java.io.InputStream; +import java.io.InputStreamReader; + +public class StructureLoader { + + public static IStructure loadStructure(InputStream stream) { + try { + InputStreamReader isr = new InputStreamReader(stream); + BufferedReader br = new BufferedReader(isr); + StructureDefiner definer = new StructureDefiner(); + definer.gatherData(br); + IStructure structure = getStructureForClass(definer.Clazz); + structure.setStructureMap(definer.map); + structure.setNBTMap(definer.nbts); + br.close(); + isr.close(); + return structure; + } catch (Throwable var5) { + return null; + } + } + + private static IStructure getStructureForClass(String clazz) { + if(clazz == null) { + return new BasicStructure(); + } else { + try { + return (IStructure)Class.forName(clazz).newInstance(); + } catch (Throwable var2) { + return new BasicStructure(); + } + } + } +} diff --git a/src/main/java/com/pengu/api/thaumicadditions/worldgen/StructurePrinter.java b/src/main/java/com/pengu/api/thaumicadditions/worldgen/StructurePrinter.java new file mode 100644 index 0000000..e692700 --- /dev/null +++ b/src/main/java/com/pengu/api/thaumicadditions/worldgen/StructurePrinter.java @@ -0,0 +1,106 @@ +package com.pengu.api.thaumicadditions.worldgen; + +import com.pengu.api.thaumicadditions.util.BlockStack; +import com.pengu.api.thaumicadditions.worldgen.IStructure; +import com.pengu.api.thaumicadditions.worldgen.StructureLoader; +import com.pengu.thaumcraft.additions.utils.TALog; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileWriter; +import java.io.InputStream; +import java.net.URL; +import java.util.HashMap; +import net.minecraft.block.Block; +import net.minecraft.util.ChunkCoordinates; +import net.minecraft.world.World; + +public class StructurePrinter { + + public static void printStructureToFile(IStructure structure, File file) { + try { + FileWriter fw = new FileWriter(file); + BufferedWriter bw = new BufferedWriter(fw); + IStructure.writeToBuffer(structure, bw); + bw.close(); + fw.close(); + } catch (Throwable var4) { + ; + } + + } + + public static IStructure loadStructure(File file) { + try { + FileInputStream fis = new FileInputStream(file); + IStructure struct = loadStructure((InputStream)fis); + + try { + fis.close(); + } catch (Throwable var4) { + ; + } + + return struct; + } catch (Throwable var5) { + return null; + } + } + + public static IStructure loadStructure(URL url) { + try { + InputStream is = url.openStream(); + IStructure s = loadStructure(is); + + try { + is.close(); + } catch (Throwable var4) { + ; + } + + return s; + } catch (Throwable var5) { + return null; + } + } + + public static IStructure loadStructure(InputStream stream) { + try { + IStructure struct = StructureLoader.loadStructure(stream); + return struct; + } catch (Throwable var2) { + return null; + } + } + + public static IStructure generateStructure(World world, ChunkCoordinates pos1, ChunkCoordinates pos2, IStructure structure) { + try { + int minX = Math.min(pos1.field_71574_a, pos2.field_71574_a); + int minY = Math.min(pos1.field_71572_b, pos2.field_71572_b); + int minZ = Math.min(pos1.field_71573_c, pos2.field_71573_c); + int maxX = Math.max(pos1.field_71574_a, pos2.field_71574_a); + int maxY = Math.max(pos1.field_71572_b, pos2.field_71572_b); + int maxZ = Math.max(pos1.field_71573_c, pos2.field_71573_c); + HashMap m = new HashMap(); + + for(int x = minX; x < maxX; ++x) { + for(int y = minY; y < maxY; ++y) { + for(int z = minZ; z < maxZ; ++z) { + try { + TALog.info("Adding block on " + x + ", " + y + ", " + z + " as " + Block.func_149682_b(world.func_147439_a(x, y, z)) + "@" + world.func_72805_g(x, y, z), new Object[0]); + m.put(new ChunkCoordinates(x, y, z), new BlockStack(world.func_147439_a(x, y, z), world.func_72805_g(x, y, z))); + } catch (Throwable var15) { + ; + } + } + } + } + + structure.setStructureMap(m); + } catch (Throwable var16) { + ; + } + + return structure; + } +} diff --git a/src/main/java/com/pengu/logger/logging/log5z/DateFormatter.java b/src/main/java/com/pengu/logger/logging/log5z/DateFormatter.java new file mode 100644 index 0000000..189c110 --- /dev/null +++ b/src/main/java/com/pengu/logger/logging/log5z/DateFormatter.java @@ -0,0 +1,19 @@ +package com.pengu.logger.logging.log5z; + +import java.util.Calendar; + +public class DateFormatter { + + public static final String defaultFormatter = "%y.%m.%d-%h:%i:%s"; + + + public static String getData(String format) { + format = format.replaceAll("%y", Calendar.getInstance().get(1) + ""); + format = format.replaceAll("%m", Calendar.getInstance().get(2) + ""); + format = format.replaceAll("%d", Calendar.getInstance().get(5) + ""); + format = format.replaceAll("%h", Calendar.getInstance().get(11) + ""); + format = format.replaceAll("%i", Calendar.getInstance().get(12) + ""); + format = format.replaceAll("%s", Calendar.getInstance().get(13) + ""); + return format; + } +} diff --git a/src/main/java/com/pengu/logger/logging/log5z/EnumFileSize.java b/src/main/java/com/pengu/logger/logging/log5z/EnumFileSize.java new file mode 100644 index 0000000..548f635 --- /dev/null +++ b/src/main/java/com/pengu/logger/logging/log5z/EnumFileSize.java @@ -0,0 +1,19 @@ +package com.pengu.logger.logging.log5z; + + +public enum EnumFileSize { + + BITS("BITS", 0, 0.125F), + BYTES("BYTES", 1, 1.0F), + KILOBYTES("KILOBYTES", 2, 1024.0F), + MEGABYTES("MEGABYTES", 3, 1048576.0F), + GIGABYTES("GIGABYTES", 4, 1.07374182E9F), + TERRABYTES("TERRABYTES", 5, 1.09951163E12F); + public final float bytes; + + + private EnumFileSize(String var1, int var2, float size) { + this.bytes = size; + } + +} diff --git a/src/main/java/com/pengu/logger/logging/log5z/FileLogger.java b/src/main/java/com/pengu/logger/logging/log5z/FileLogger.java new file mode 100644 index 0000000..1c201e6 --- /dev/null +++ b/src/main/java/com/pengu/logger/logging/log5z/FileLogger.java @@ -0,0 +1,100 @@ +package com.pengu.logger.logging.log5z; + +import com.pengu.logger.logging.log5z.DateFormatter; +import com.pengu.logger.logging.log5z.EnumFileSize; +import com.pengu.logger.logging.log5z.LogFile; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; + +public class FileLogger { + + public final LogFile log; + public final long maxAllowedLogBytes; + public BufferedWriter writer; + + + public static FileLogger getLogger(File output, long maxAllowedLogBytes) { + return new FileLogger(output, maxAllowedLogBytes); + } + + private FileLogger(File logfile, long maxAllowedBytes) { + this.log = LogFile.make(logfile, this); + this.maxAllowedLogBytes = maxAllowedBytes; + } + + public void clear() { + if(this.log != null) { + try { + if(this.log.out.exists()) { + try { + if(this.writer != null) { + this.writer.close(); + } + } catch (Exception var4) { + ; + } + + this.log.out.delete(); + } + } catch (Exception var5) { + ; + } + + try { + this.log.out.createNewFile(); + + try { + this.writer = new BufferedWriter(new FileWriter(this.log.out)); + this.write("Log cleared, because it reached it\'s maximum limitation: " + this.maxAllowedLogBytes + "B (bytes)!"); + } catch (Exception var2) { + ; + } + } catch (Exception var3) { + ; + } + } + + } + + public void write(String line) { + this.writeRaw("[%y.%m.%d-%h:%i:%s]: " + line); + } + + public void writeRaw(String line) { + if(this.log != null && this.log.out != null && !this.log.out.exists()) { + try { + this.log.out.createNewFile(); + this.writer = new BufferedWriter(new FileWriter(this.log.out)); + } catch (Exception var4) { + ; + } + } + + if(line.toLowerCase().contains("log.clear();".toLowerCase())) { + this.clear(); + } + + if(this.writer != null) { + try { + this.writer.write(DateFormatter.getData(line)); + this.writer.newLine(); + this.writer.flush(); + } catch (Exception var3) { + ; + } + } + + } + + public void tick() { + if(this.getLogSize(EnumFileSize.BYTES) >= this.maxAllowedLogBytes) { + this.clear(); + } + + } + + public long getLogSize(EnumFileSize sizeToGet) { + return (long)((float)this.log.out.length() / (sizeToGet != null?sizeToGet.bytes:0.0F)); + } +} diff --git a/src/main/java/com/pengu/logger/logging/log5z/Log5zManager.java b/src/main/java/com/pengu/logger/logging/log5z/Log5zManager.java new file mode 100644 index 0000000..e28b51e --- /dev/null +++ b/src/main/java/com/pengu/logger/logging/log5z/Log5zManager.java @@ -0,0 +1,29 @@ +package com.pengu.logger.logging.log5z; + +import com.pengu.logger.logging.log5z.Logger; +import org.apache.logging.log4j.Level; + +public class Log5zManager { + + public static void main(String[] args) { + String owner = "Log5z"; + String author = "MrDimka"; + String msg = "Thank you for using " + owner + " by " + author + "! used %log log. You\'ve used following arguments, if you understand...: "; + + for(int e = 0; e < args.length; ++e) { + msg = msg + "%s" + (e < args.length - 1?", ":"."); + } + + try { + Class.forName("cpw.mods.fml.common.FMLLog"); + msg = msg.replaceFirst("%log", "MinecraftForge"); + } catch (Exception var5) { + msg = msg.replaceFirst("%log", "NoDependency"); + } + + if(!Logger.GeneralLog(owner, Level.INFO, msg, (Object[])args)) { + System.out.println("[" + owner + "] Something went horribly wrong!"); + } + + } +} diff --git a/src/main/java/com/pengu/logger/logging/log5z/LogFile.java b/src/main/java/com/pengu/logger/logging/log5z/LogFile.java new file mode 100644 index 0000000..b880204 --- /dev/null +++ b/src/main/java/com/pengu/logger/logging/log5z/LogFile.java @@ -0,0 +1,20 @@ +package com.pengu.logger.logging.log5z; + +import com.pengu.logger.logging.log5z.FileLogger; +import java.io.File; + +public class LogFile { + + public final FileLogger logger; + public final File out; + + + private LogFile(File fl, FileLogger logger) { + this.logger = logger; + this.out = fl; + } + + public static LogFile make(File fl, FileLogger logger) { + return new LogFile(fl, logger); + } +} diff --git a/src/main/java/com/pengu/logger/logging/log5z/Logger.java b/src/main/java/com/pengu/logger/logging/log5z/Logger.java new file mode 100644 index 0000000..1b584c3 --- /dev/null +++ b/src/main/java/com/pengu/logger/logging/log5z/Logger.java @@ -0,0 +1,41 @@ +package com.pengu.logger.logging.log5z; + +import com.pengu.logger.logging.log5z.DateFormatter; +import java.lang.reflect.Method; +import org.apache.logging.log4j.Level; + +public class Logger { + + public static boolean LogMinecraftForge(String owner, Level loglev, String text, Object ... args) { + try { + Method[] var4 = Class.forName("cpw.mods.fml.common.FMLLog").getDeclaredMethods(); + int var5 = var4.length; + + for(int var6 = 0; var6 < var5; ++var6) { + Method m = var4[var6]; + if(m.getName().equals("log") && m.getParameterTypes().length == 4) { + m.invoke(Class.forName("cpw.mods.fml.common.FMLLog").newInstance(), new Object[]{owner, loglev, text, args}); + return true; + } + } + } catch (Exception var8) { + ; + } + + return false; + } + + public static boolean LogNoDependency(String owner, Level loglev, String text, Object ... args) { + try { + String converted = loglev == Level.DEBUG?"DEBUG":(loglev == Level.ERROR?"ERROR":(loglev == Level.FATAL?"FATAL":(loglev == Level.INFO?"INFO":(loglev == Level.OFF?"OFF":(loglev == Level.TRACE?"TRACE":(loglev == Level.WARN?"WARN":"UNKNOWN!")))))); + System.out.println(String.format(DateFormatter.getData("[%h:%i:%s] [log5z/" + converted + "] [ " + owner + "]: " + text), args)); + return true; + } catch (Exception var5) { + return false; + } + } + + public static boolean GeneralLog(String owner, Level loglev, String text, Object ... args) { + return LogMinecraftForge(owner, loglev, text, args) || LogNoDependency(owner, loglev, text, args); + } +} diff --git a/src/main/java/com/pengu/org/json/JSON.java b/src/main/java/com/pengu/org/json/JSON.java new file mode 100644 index 0000000..ff1b98b --- /dev/null +++ b/src/main/java/com/pengu/org/json/JSON.java @@ -0,0 +1,107 @@ +package com.pengu.org.json; + +import com.pengu.org.json.JSONException; + +class JSON { + + static double checkDouble(double d) throws JSONException { + if(!Double.isInfinite(d) && !Double.isNaN(d)) { + return d; + } else { + throw new JSONException("Forbidden numeric value: " + d); + } + } + + static Boolean toBoolean(Object value) { + if(value instanceof Boolean) { + return (Boolean)value; + } else { + if(value instanceof String) { + String stringValue = (String)value; + if("true".equalsIgnoreCase(stringValue)) { + return Boolean.valueOf(true); + } + + if("false".equalsIgnoreCase(stringValue)) { + return Boolean.valueOf(false); + } + } + + return null; + } + } + + static Double toDouble(Object value) { + if(value instanceof Double) { + return (Double)value; + } else if(value instanceof Number) { + return Double.valueOf(((Number)value).doubleValue()); + } else { + if(value instanceof String) { + try { + return Double.valueOf((String)value); + } catch (NumberFormatException var2) { + ; + } + } + + return null; + } + } + + static Integer toInteger(Object value) { + if(value instanceof Integer) { + return (Integer)value; + } else if(value instanceof Number) { + return Integer.valueOf(((Number)value).intValue()); + } else { + if(value instanceof String) { + try { + return Integer.valueOf((int)Double.parseDouble((String)value)); + } catch (NumberFormatException var2) { + ; + } + } + + return null; + } + } + + static Long toLong(Object value) { + if(value instanceof Long) { + return (Long)value; + } else if(value instanceof Number) { + return Long.valueOf(((Number)value).longValue()); + } else { + if(value instanceof String) { + try { + return Long.valueOf((long)Double.parseDouble((String)value)); + } catch (NumberFormatException var2) { + ; + } + } + + return null; + } + } + + static String toString(Object value) { + return value instanceof String?(String)value:(value != null?String.valueOf(value):null); + } + + public static JSONException typeMismatch(Object indexOrName, Object actual, String requiredType) throws JSONException { + if(actual == null) { + throw new JSONException("Value at " + indexOrName + " is null."); + } else { + throw new JSONException("Value " + actual + " at " + indexOrName + " of type " + actual.getClass().getName() + " cannot be converted to " + requiredType); + } + } + + public static JSONException typeMismatch(Object actual, String requiredType) throws JSONException { + if(actual == null) { + throw new JSONException("Value is null."); + } else { + throw new JSONException("Value " + actual + " of type " + actual.getClass().getName() + " cannot be converted to " + requiredType); + } + } +} diff --git a/src/main/java/com/pengu/org/json/JSONArray.java b/src/main/java/com/pengu/org/json/JSONArray.java new file mode 100644 index 0000000..e288da3 --- /dev/null +++ b/src/main/java/com/pengu/org/json/JSONArray.java @@ -0,0 +1,350 @@ +package com.pengu.org.json; + +import com.pengu.org.json.JSON; +import com.pengu.org.json.JSONException; +import com.pengu.org.json.JSONObject; +import com.pengu.org.json.JSONStringer; +import com.pengu.org.json.JSONTokener; +import com.pengu.org.json.JSONStringer.Scope; +import java.lang.reflect.Array; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; + +public class JSONArray { + + private final List values; + + + public JSONArray() { + this.values = new ArrayList(); + } + + public JSONArray(Collection copyFrom) { + this(); + if(copyFrom != null) { + Iterator it = copyFrom.iterator(); + + while(it.hasNext()) { + this.put(JSONObject.wrap(it.next())); + } + } + + } + + public JSONArray(JSONTokener readFrom) throws JSONException { + Object object = readFrom.nextValue(); + if(object instanceof JSONArray) { + this.values = ((JSONArray)object).values; + } else { + throw JSON.typeMismatch(object, "JSONArray"); + } + } + + public JSONArray(String json) throws JSONException { + this(new JSONTokener(json)); + } + + public JSONArray(Object array) throws JSONException { + if(!array.getClass().isArray()) { + throw new JSONException("Not a primitive array: " + array.getClass()); + } else { + int length = Array.getLength(array); + this.values = new ArrayList(length); + + for(int i = 0; i < length; ++i) { + this.put(JSONObject.wrap(Array.get(array, i))); + } + + } + } + + public int length() { + return this.values.size(); + } + + public JSONArray put(boolean value) { + this.values.add(Boolean.valueOf(value)); + return this; + } + + public JSONArray put(double value) throws JSONException { + this.values.add(Double.valueOf(JSON.checkDouble(value))); + return this; + } + + public JSONArray put(int value) { + this.values.add(Integer.valueOf(value)); + return this; + } + + public JSONArray put(long value) { + this.values.add(Long.valueOf(value)); + return this; + } + + public JSONArray put(Object value) { + this.values.add(value); + return this; + } + + void checkedPut(Object value) throws JSONException { + if(value instanceof Number) { + JSON.checkDouble(((Number)value).doubleValue()); + } + + this.put(value); + } + + public JSONArray put(int index, boolean value) throws JSONException { + return this.put(index, Boolean.valueOf(value)); + } + + public JSONArray put(int index, double value) throws JSONException { + return this.put(index, Double.valueOf(value)); + } + + public JSONArray put(int index, int value) throws JSONException { + return this.put(index, Integer.valueOf(value)); + } + + public JSONArray put(int index, long value) throws JSONException { + return this.put(index, Long.valueOf(value)); + } + + public JSONArray put(int index, Object value) throws JSONException { + if(value instanceof Number) { + JSON.checkDouble(((Number)value).doubleValue()); + } + + while(this.values.size() <= index) { + this.values.add((Object)null); + } + + this.values.set(index, value); + return this; + } + + public boolean isNull(int index) { + Object value = this.opt(index); + return value == null || value == JSONObject.NULL; + } + + public Object get(int index) throws JSONException { + try { + Object e = this.values.get(index); + if(e == null) { + throw new JSONException("Value at " + index + " is null."); + } else { + return e; + } + } catch (IndexOutOfBoundsException var3) { + throw new JSONException("Index " + index + " out of range [0.." + this.values.size() + ")"); + } + } + + public Object opt(int index) { + return index >= 0 && index < this.values.size()?this.values.get(index):null; + } + + public Object remove(int index) { + return index >= 0 && index < this.values.size()?this.values.remove(index):null; + } + + public boolean getBoolean(int index) throws JSONException { + Object object = this.get(index); + Boolean result = JSON.toBoolean(object); + if(result == null) { + throw JSON.typeMismatch(Integer.valueOf(index), object, "boolean"); + } else { + return result.booleanValue(); + } + } + + public boolean optBoolean(int index) { + return this.optBoolean(index, false); + } + + public boolean optBoolean(int index, boolean fallback) { + Object object = this.opt(index); + Boolean result = JSON.toBoolean(object); + return result != null?result.booleanValue():fallback; + } + + public double getDouble(int index) throws JSONException { + Object object = this.get(index); + Double result = JSON.toDouble(object); + if(result == null) { + throw JSON.typeMismatch(Integer.valueOf(index), object, "double"); + } else { + return result.doubleValue(); + } + } + + public double optDouble(int index) { + return this.optDouble(index, Double.NaN); + } + + public double optDouble(int index, double fallback) { + Object object = this.opt(index); + Double result = JSON.toDouble(object); + return result != null?result.doubleValue():fallback; + } + + public int getInt(int index) throws JSONException { + Object object = this.get(index); + Integer result = JSON.toInteger(object); + if(result == null) { + throw JSON.typeMismatch(Integer.valueOf(index), object, "int"); + } else { + return result.intValue(); + } + } + + public int optInt(int index) { + return this.optInt(index, 0); + } + + public int optInt(int index, int fallback) { + Object object = this.opt(index); + Integer result = JSON.toInteger(object); + return result != null?result.intValue():fallback; + } + + public long getLong(int index) throws JSONException { + Object object = this.get(index); + Long result = JSON.toLong(object); + if(result == null) { + throw JSON.typeMismatch(Integer.valueOf(index), object, "long"); + } else { + return result.longValue(); + } + } + + public long optLong(int index) { + return this.optLong(index, 0L); + } + + public long optLong(int index, long fallback) { + Object object = this.opt(index); + Long result = JSON.toLong(object); + return result != null?result.longValue():fallback; + } + + public String getString(int index) throws JSONException { + Object object = this.get(index); + String result = JSON.toString(object); + if(result == null) { + throw JSON.typeMismatch(Integer.valueOf(index), object, "String"); + } else { + return result; + } + } + + public String optString(int index) { + return this.optString(index, ""); + } + + public String optString(int index, String fallback) { + Object object = this.opt(index); + String result = JSON.toString(object); + return result != null?result:fallback; + } + + public JSONArray getJSONArray(int index) throws JSONException { + Object object = this.get(index); + if(object instanceof JSONArray) { + return (JSONArray)object; + } else { + throw JSON.typeMismatch(Integer.valueOf(index), object, "JSONArray"); + } + } + + public JSONArray optJSONArray(int index) { + Object object = this.opt(index); + return object instanceof JSONArray?(JSONArray)object:null; + } + + public JSONObject getJSONObject(int index) throws JSONException { + Object object = this.get(index); + if(object instanceof JSONObject) { + return (JSONObject)object; + } else { + throw JSON.typeMismatch(Integer.valueOf(index), object, "JSONObject"); + } + } + + public JSONObject optJSONObject(int index) { + Object object = this.opt(index); + return object instanceof JSONObject?(JSONObject)object:null; + } + + public JSONObject toJSONObject(JSONArray names) throws JSONException { + JSONObject result = new JSONObject(); + int length = Math.min(names.length(), this.values.size()); + if(length == 0) { + return null; + } else { + for(int i = 0; i < length; ++i) { + String name = JSON.toString(names.opt(i)); + result.put(name, this.opt(i)); + } + + return result; + } + } + + public String join(String separator) throws JSONException { + JSONStringer stringer = new JSONStringer(); + stringer.open(Scope.NULL, ""); + int i = 0; + + for(int size = this.values.size(); i < size; ++i) { + if(i > 0) { + stringer.out.append(separator); + } + + stringer.value(this.values.get(i)); + } + + stringer.close(Scope.NULL, Scope.NULL, ""); + return stringer.out.toString(); + } + + public String toString() { + try { + JSONStringer e = new JSONStringer(); + this.writeTo(e); + return e.toString(); + } catch (JSONException var2) { + return null; + } + } + + public String toString(int indentSpaces) throws JSONException { + JSONStringer stringer = new JSONStringer(indentSpaces); + this.writeTo(stringer); + return stringer.toString(); + } + + void writeTo(JSONStringer stringer) throws JSONException { + stringer.array(); + Iterator var2 = this.values.iterator(); + + while(var2.hasNext()) { + Object value = var2.next(); + stringer.value(value); + } + + stringer.endArray(); + } + + public boolean equals(Object o) { + return o instanceof JSONArray && ((JSONArray)o).values.equals(this.values); + } + + public int hashCode() { + return this.values.hashCode(); + } +} diff --git a/src/main/java/com/pengu/org/json/JSONException.java b/src/main/java/com/pengu/org/json/JSONException.java new file mode 100644 index 0000000..8869ae5 --- /dev/null +++ b/src/main/java/com/pengu/org/json/JSONException.java @@ -0,0 +1,9 @@ +package com.pengu.org.json; + + +public class JSONException extends Exception { + + public JSONException(String s) { + super(s); + } +} diff --git a/src/main/java/com/pengu/org/json/JSONObject.java b/src/main/java/com/pengu/org/json/JSONObject.java new file mode 100644 index 0000000..15c86df --- /dev/null +++ b/src/main/java/com/pengu/org/json/JSONObject.java @@ -0,0 +1,444 @@ +package com.pengu.org.json; + +import com.pengu.org.json.JSON; +import com.pengu.org.json.JSONArray; +import com.pengu.org.json.JSONException; +import com.pengu.org.json.JSONStringer; +import com.pengu.org.json.JSONTokener; +import com.pengu.org.json.JSONObject.1; +import com.pengu.org.json.JSONStringer.Scope; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Set; +import java.util.Map.Entry; + +public class JSONObject { + + private static final Double NEGATIVE_ZERO = Double.valueOf(-0.0D); + public static final Object NULL = new 1(); + private final LinkedHashMap nameValuePairs; + + + public JSONObject() { + this.nameValuePairs = new LinkedHashMap(); + } + + public JSONObject(Map copyFrom) { + this(); + Iterator var3 = copyFrom.entrySet().iterator(); + + while(var3.hasNext()) { + Entry entry = (Entry)var3.next(); + String key = (String)entry.getKey(); + if(key == null) { + throw new NullPointerException("key == null"); + } + + this.nameValuePairs.put(key, wrap(entry.getValue())); + } + + } + + public JSONObject(JSONTokener readFrom) throws JSONException { + Object object = readFrom.nextValue(); + if(object instanceof JSONObject) { + this.nameValuePairs = ((JSONObject)object).nameValuePairs; + } else { + throw JSON.typeMismatch(object, "JSONObject"); + } + } + + public JSONObject(String json) throws JSONException { + this(new JSONTokener(json)); + } + + public JSONObject(JSONObject copyFrom, String[] names) throws JSONException { + this(); + String[] var3 = names; + int var4 = names.length; + + for(int var5 = 0; var5 < var4; ++var5) { + String name = var3[var5]; + Object value = copyFrom.opt(name); + if(value != null) { + this.nameValuePairs.put(name, value); + } + } + + } + + public int length() { + return this.nameValuePairs.size(); + } + + public JSONObject put(String name, boolean value) throws JSONException { + this.nameValuePairs.put(this.checkName(name), Boolean.valueOf(value)); + return this; + } + + public JSONObject put(String name, double value) throws JSONException { + this.nameValuePairs.put(this.checkName(name), Double.valueOf(JSON.checkDouble(value))); + return this; + } + + public JSONObject put(String name, int value) throws JSONException { + this.nameValuePairs.put(this.checkName(name), Integer.valueOf(value)); + return this; + } + + public JSONObject put(String name, long value) throws JSONException { + this.nameValuePairs.put(this.checkName(name), Long.valueOf(value)); + return this; + } + + public JSONObject put(String name, Object value) throws JSONException { + if(value == null) { + this.nameValuePairs.remove(name); + return this; + } else { + if(value instanceof Number) { + JSON.checkDouble(((Number)value).doubleValue()); + } + + this.nameValuePairs.put(this.checkName(name), value); + return this; + } + } + + public JSONObject putOpt(String name, Object value) throws JSONException { + return name != null && value != null?this.put(name, value):this; + } + + public JSONObject accumulate(String name, Object value) throws JSONException { + Object current = this.nameValuePairs.get(this.checkName(name)); + if(current == null) { + return this.put(name, value); + } else { + JSONArray array; + if(current instanceof JSONArray) { + array = (JSONArray)current; + array.checkedPut(value); + } else { + array = new JSONArray(); + array.checkedPut(current); + array.checkedPut(value); + this.nameValuePairs.put(name, array); + } + + return this; + } + } + + public JSONObject append(String name, Object value) throws JSONException { + Object current = this.nameValuePairs.get(this.checkName(name)); + JSONArray array; + if(current instanceof JSONArray) { + array = (JSONArray)current; + } else { + if(current != null) { + throw new JSONException("Key " + name + " is not a JSONArray"); + } + + JSONArray newArray = new JSONArray(); + this.nameValuePairs.put(name, newArray); + array = newArray; + } + + array.checkedPut(value); + return this; + } + + String checkName(String name) throws JSONException { + if(name == null) { + throw new JSONException("Names must be non-null"); + } else { + return name; + } + } + + public Object remove(String name) { + return this.nameValuePairs.remove(name); + } + + public boolean isNull(String name) { + Object value = this.nameValuePairs.get(name); + return value == null || value == NULL; + } + + public boolean has(String name) { + return this.nameValuePairs.containsKey(name); + } + + public Object get(String name) throws JSONException { + Object result = this.nameValuePairs.get(name); + if(result == null) { + throw new JSONException("No value for " + name); + } else { + return result; + } + } + + public Object opt(String name) { + return this.nameValuePairs.get(name); + } + + public boolean getBoolean(String name) throws JSONException { + Object object = this.get(name); + Boolean result = JSON.toBoolean(object); + if(result == null) { + throw JSON.typeMismatch(name, object, "boolean"); + } else { + return result.booleanValue(); + } + } + + public boolean optBoolean(String name) { + return this.optBoolean(name, false); + } + + public boolean optBoolean(String name, boolean fallback) { + Object object = this.opt(name); + Boolean result = JSON.toBoolean(object); + return result != null?result.booleanValue():fallback; + } + + public double getDouble(String name) throws JSONException { + Object object = this.get(name); + Double result = JSON.toDouble(object); + if(result == null) { + throw JSON.typeMismatch(name, object, "double"); + } else { + return result.doubleValue(); + } + } + + public double optDouble(String name) { + return this.optDouble(name, Double.NaN); + } + + public double optDouble(String name, double fallback) { + Object object = this.opt(name); + Double result = JSON.toDouble(object); + return result != null?result.doubleValue():fallback; + } + + public int getInt(String name) throws JSONException { + Object object = this.get(name); + Integer result = JSON.toInteger(object); + if(result == null) { + throw JSON.typeMismatch(name, object, "int"); + } else { + return result.intValue(); + } + } + + public int optInt(String name) { + return this.optInt(name, 0); + } + + public int optInt(String name, int fallback) { + Object object = this.opt(name); + Integer result = JSON.toInteger(object); + return result != null?result.intValue():fallback; + } + + public long getLong(String name) throws JSONException { + Object object = this.get(name); + Long result = JSON.toLong(object); + if(result == null) { + throw JSON.typeMismatch(name, object, "long"); + } else { + return result.longValue(); + } + } + + public long optLong(String name) { + return this.optLong(name, 0L); + } + + public long optLong(String name, long fallback) { + Object object = this.opt(name); + Long result = JSON.toLong(object); + return result != null?result.longValue():fallback; + } + + public String getString(String name) throws JSONException { + Object object = this.get(name); + String result = JSON.toString(object); + if(result == null) { + throw JSON.typeMismatch(name, object, "String"); + } else { + return result; + } + } + + public String optString(String name) { + return this.optString(name, ""); + } + + public String optString(String name, String fallback) { + Object object = this.opt(name); + String result = JSON.toString(object); + return result != null?result:fallback; + } + + public JSONArray getJSONArray(String name) throws JSONException { + Object object = this.get(name); + if(object instanceof JSONArray) { + return (JSONArray)object; + } else { + throw JSON.typeMismatch(name, object, "JSONArray"); + } + } + + public JSONArray optJSONArray(String name) { + Object object = this.opt(name); + return object instanceof JSONArray?(JSONArray)object:null; + } + + public JSONObject getJSONObject(String name) throws JSONException { + Object object = this.get(name); + if(object instanceof JSONObject) { + return (JSONObject)object; + } else { + throw JSON.typeMismatch(name, object, "JSONObject"); + } + } + + public JSONObject optJSONObject(String name) { + Object object = this.opt(name); + return object instanceof JSONObject?(JSONObject)object:null; + } + + public JSONArray toJSONArray(JSONArray names) throws JSONException { + JSONArray result = new JSONArray(); + if(names == null) { + return null; + } else { + int length = names.length(); + if(length == 0) { + return null; + } else { + for(int i = 0; i < length; ++i) { + String name = JSON.toString(names.opt(i)); + result.put(this.opt(name)); + } + + return result; + } + } + } + + public Iterator keys() { + return this.nameValuePairs.keySet().iterator(); + } + + public Set keySet() { + return this.nameValuePairs.keySet(); + } + + public JSONArray names() { + return this.nameValuePairs.isEmpty()?null:new JSONArray(new ArrayList(this.nameValuePairs.keySet())); + } + + public String toString() { + try { + JSONStringer e = new JSONStringer(); + this.writeTo(e); + return e.toString(); + } catch (JSONException var2) { + return null; + } + } + + public String toString(int indentSpaces) throws JSONException { + JSONStringer stringer = new JSONStringer(indentSpaces); + this.writeTo(stringer); + return stringer.toString(); + } + + void writeTo(JSONStringer stringer) throws JSONException { + stringer.object(); + Iterator var2 = this.nameValuePairs.entrySet().iterator(); + + while(var2.hasNext()) { + Entry entry = (Entry)var2.next(); + stringer.key((String)entry.getKey()).value(entry.getValue()); + } + + stringer.endObject(); + } + + public static String numberToString(Number number) throws JSONException { + if(number == null) { + throw new JSONException("Number must be non-null"); + } else { + double doubleValue = number.doubleValue(); + JSON.checkDouble(doubleValue); + if(number.equals(NEGATIVE_ZERO)) { + return "-0"; + } else { + long longValue = number.longValue(); + return doubleValue == (double)longValue?Long.toString(longValue):number.toString(); + } + } + } + + public static String quote(String data) { + if(data == null) { + return "\"\""; + } else { + try { + JSONStringer e = new JSONStringer(); + e.open(Scope.NULL, ""); + e.value(data); + e.close(Scope.NULL, Scope.NULL, ""); + return e.toString(); + } catch (JSONException var2) { + throw new AssertionError(); + } + } + } + + public static Object wrap(Object o) { + if(o == null) { + return NULL; + } else if(!(o instanceof JSONArray) && !(o instanceof JSONObject)) { + if(o.equals(NULL)) { + return o; + } else { + try { + if(o instanceof Collection) { + return new JSONArray((Collection)o); + } + + if(o.getClass().isArray()) { + return new JSONArray(o); + } + + if(o instanceof Map) { + return new JSONObject((Map)o); + } + + if(o instanceof Boolean || o instanceof Byte || o instanceof Character || o instanceof Double || o instanceof Float || o instanceof Integer || o instanceof Long || o instanceof Short || o instanceof String) { + return o; + } + + if(o.getClass().getPackage().getName().startsWith("java.")) { + return o.toString(); + } + } catch (Exception var2) { + ; + } + + return null; + } + } else { + return o; + } + } + +} diff --git a/src/main/java/com/pengu/org/json/JSONStringer.java b/src/main/java/com/pengu/org/json/JSONStringer.java new file mode 100644 index 0000000..333b37d --- /dev/null +++ b/src/main/java/com/pengu/org/json/JSONStringer.java @@ -0,0 +1,231 @@ +package com.pengu.org.json; + +import com.pengu.org.json.JSONArray; +import com.pengu.org.json.JSONException; +import com.pengu.org.json.JSONObject; +import com.pengu.org.json.JSONStringer.Scope; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class JSONStringer { + + final StringBuilder out = new StringBuilder(); + private final List stack = new ArrayList(); + private final String indent; + + + public JSONStringer() { + this.indent = null; + } + + JSONStringer(int indentSpaces) { + char[] indentChars = new char[indentSpaces]; + Arrays.fill(indentChars, ' '); + this.indent = new String(indentChars); + } + + public JSONStringer array() throws JSONException { + return this.open(Scope.EMPTY_ARRAY, "["); + } + + public JSONStringer endArray() throws JSONException { + return this.close(Scope.EMPTY_ARRAY, Scope.NONEMPTY_ARRAY, "]"); + } + + public JSONStringer object() throws JSONException { + return this.open(Scope.EMPTY_OBJECT, "{"); + } + + public JSONStringer endObject() throws JSONException { + return this.close(Scope.EMPTY_OBJECT, Scope.NONEMPTY_OBJECT, "}"); + } + + JSONStringer open(Scope empty, String openBracket) throws JSONException { + if(this.stack.isEmpty() && this.out.length() > 0) { + throw new JSONException("Nesting problem: multiple top-level roots"); + } else { + this.beforeValue(); + this.stack.add(empty); + this.out.append(openBracket); + return this; + } + } + + JSONStringer close(Scope empty, Scope nonempty, String closeBracket) throws JSONException { + Scope context = this.peek(); + if(context != nonempty && context != empty) { + throw new JSONException("Nesting problem"); + } else { + this.stack.remove(this.stack.size() - 1); + if(context == nonempty) { + this.newline(); + } + + this.out.append(closeBracket); + return this; + } + } + + private Scope peek() throws JSONException { + if(this.stack.isEmpty()) { + throw new JSONException("Nesting problem"); + } else { + return (Scope)this.stack.get(this.stack.size() - 1); + } + } + + private void replaceTop(Scope topOfStack) { + this.stack.set(this.stack.size() - 1, topOfStack); + } + + public JSONStringer value(Object value) throws JSONException { + if(this.stack.isEmpty()) { + throw new JSONException("Nesting problem"); + } else if(value instanceof JSONArray) { + ((JSONArray)value).writeTo(this); + return this; + } else if(value instanceof JSONObject) { + ((JSONObject)value).writeTo(this); + return this; + } else { + this.beforeValue(); + if(value != null && !(value instanceof Boolean) && value != JSONObject.NULL) { + if(value instanceof Number) { + this.out.append(JSONObject.numberToString((Number)value)); + } else { + this.string(value.toString()); + } + } else { + this.out.append(value); + } + + return this; + } + } + + public JSONStringer value(boolean value) throws JSONException { + if(this.stack.isEmpty()) { + throw new JSONException("Nesting problem"); + } else { + this.beforeValue(); + this.out.append(value); + return this; + } + } + + public JSONStringer value(double value) throws JSONException { + if(this.stack.isEmpty()) { + throw new JSONException("Nesting problem"); + } else { + this.beforeValue(); + this.out.append(JSONObject.numberToString(Double.valueOf(value))); + return this; + } + } + + public JSONStringer value(long value) throws JSONException { + if(this.stack.isEmpty()) { + throw new JSONException("Nesting problem"); + } else { + this.beforeValue(); + this.out.append(value); + return this; + } + } + + private void string(String value) { + this.out.append("\""); + int i = 0; + + for(int length = value.length(); i < length; ++i) { + char c = value.charAt(i); + switch(c) { + case 8: + this.out.append("\\b"); + break; + case 9: + this.out.append("\\t"); + break; + case 10: + this.out.append("\\n"); + break; + case 12: + this.out.append("\\f"); + break; + case 13: + this.out.append("\\r"); + break; + case 34: + case 47: + case 92: + this.out.append('\\').append(c); + break; + default: + if(c <= 31) { + this.out.append(String.format("\\u%04x", new Object[]{Integer.valueOf(c)})); + } else { + this.out.append(c); + } + } + } + + this.out.append("\""); + } + + private void newline() { + if(this.indent != null) { + this.out.append("\n"); + + for(int i = 0; i < this.stack.size(); ++i) { + this.out.append(this.indent); + } + + } + } + + public JSONStringer key(String name) throws JSONException { + if(name == null) { + throw new JSONException("Names must be non-null"); + } else { + this.beforeKey(); + this.string(name); + return this; + } + } + + private void beforeKey() throws JSONException { + Scope context = this.peek(); + if(context == Scope.NONEMPTY_OBJECT) { + this.out.append(','); + } else if(context != Scope.EMPTY_OBJECT) { + throw new JSONException("Nesting problem"); + } + + this.newline(); + this.replaceTop(Scope.DANGLING_KEY); + } + + private void beforeValue() throws JSONException { + if(!this.stack.isEmpty()) { + Scope context = this.peek(); + if(context == Scope.EMPTY_ARRAY) { + this.replaceTop(Scope.NONEMPTY_ARRAY); + this.newline(); + } else if(context == Scope.NONEMPTY_ARRAY) { + this.out.append(','); + this.newline(); + } else if(context == Scope.DANGLING_KEY) { + this.out.append(this.indent == null?":":": "); + this.replaceTop(Scope.NONEMPTY_OBJECT); + } else if(context != Scope.NULL) { + throw new JSONException("Nesting problem"); + } + + } + } + + public String toString() { + return this.out.length() == 0?null:this.out.toString(); + } +} diff --git a/src/main/java/com/pengu/org/json/JSONTokener.java b/src/main/java/com/pengu/org/json/JSONTokener.java new file mode 100644 index 0000000..fb2e497 --- /dev/null +++ b/src/main/java/com/pengu/org/json/JSONTokener.java @@ -0,0 +1,377 @@ +package com.pengu.org.json; + +import com.pengu.org.json.JSONArray; +import com.pengu.org.json.JSONException; +import com.pengu.org.json.JSONObject; + +public class JSONTokener { + + private final String in; + private int pos; + + + public JSONTokener(String in) { + if(in != null && in.startsWith("")) { + in = in.substring(1); + } + + this.in = in; + } + + public Object nextValue() throws JSONException { + int c = this.nextCleanInternal(); + switch(c) { + case -1: + throw this.syntaxError("End of input"); + case 34: + case 39: + return this.nextString((char)c); + case 91: + return this.readArray(); + case 123: + return this.readObject(); + default: + --this.pos; + return this.readLiteral(); + } + } + + private int nextCleanInternal() throws JSONException { + while(this.pos < this.in.length()) { + char c = this.in.charAt(this.pos++); + switch(c) { + case 9: + case 10: + case 13: + case 32: + break; + case 35: + this.skipToEndOfLine(); + break; + case 47: + if(this.pos == this.in.length()) { + return c; + } + + char peek = this.in.charAt(this.pos); + switch(peek) { + case 42: + ++this.pos; + int commentEnd = this.in.indexOf("*/", this.pos); + if(commentEnd == -1) { + throw this.syntaxError("Unterminated comment"); + } + + this.pos = commentEnd + 2; + continue; + case 47: + ++this.pos; + this.skipToEndOfLine(); + continue; + default: + return c; + } + default: + return c; + } + } + + return -1; + } + + private void skipToEndOfLine() { + while(true) { + if(this.pos < this.in.length()) { + char c = this.in.charAt(this.pos); + if(c != 13 && c != 10) { + ++this.pos; + continue; + } + + ++this.pos; + } + + return; + } + } + + public String nextString(char quote) throws JSONException { + StringBuilder builder = null; + int start = this.pos; + + while(this.pos < this.in.length()) { + char c = this.in.charAt(this.pos++); + if(c == quote) { + if(builder == null) { + return new String(this.in.substring(start, this.pos - 1)); + } + + builder.append(this.in, start, this.pos - 1); + return builder.toString(); + } + + if(c == 92) { + if(this.pos == this.in.length()) { + throw this.syntaxError("Unterminated escape sequence"); + } + + if(builder == null) { + builder = new StringBuilder(); + } + + builder.append(this.in, start, this.pos - 1); + builder.append(this.readEscapeCharacter()); + start = this.pos; + } + } + + throw this.syntaxError("Unterminated string"); + } + + private char readEscapeCharacter() throws JSONException { + char escaped = this.in.charAt(this.pos++); + switch(escaped) { + case 34: + case 39: + case 92: + default: + return escaped; + case 98: + return '\b'; + case 102: + return '\f'; + case 110: + return '\n'; + case 114: + return '\r'; + case 116: + return '\t'; + case 117: + if(this.pos + 4 > this.in.length()) { + throw this.syntaxError("Unterminated escape sequence"); + } else { + String hex = this.in.substring(this.pos, this.pos + 4); + this.pos += 4; + + try { + return (char)Integer.parseInt(hex, 16); + } catch (NumberFormatException var4) { + throw this.syntaxError("Invalid escape sequence: " + hex); + } + } + } + } + + private Object readLiteral() throws JSONException { + String literal = this.nextToInternal("{}[]/\\:,=;# \t\f"); + if(literal.length() == 0) { + throw this.syntaxError("Expected literal value"); + } else if("null".equalsIgnoreCase(literal)) { + return JSONObject.NULL; + } else if("true".equalsIgnoreCase(literal)) { + return Boolean.TRUE; + } else if("false".equalsIgnoreCase(literal)) { + return Boolean.FALSE; + } else { + if(literal.indexOf(46) == -1) { + byte base = 10; + String number = literal; + if(!literal.startsWith("0x") && !literal.startsWith("0X")) { + if(literal.startsWith("0") && literal.length() > 1) { + number = literal.substring(1); + base = 8; + } + } else { + number = literal.substring(2); + base = 16; + } + + try { + long longValue = Long.parseLong(number, base); + if(longValue <= 2147483647L && longValue >= -2147483648L) { + return Integer.valueOf((int)longValue); + } + + return Long.valueOf(longValue); + } catch (NumberFormatException var7) { + ; + } + } + + try { + return Double.valueOf(literal); + } catch (NumberFormatException var6) { + return new String(literal); + } + } + } + + private String nextToInternal(String excluded) { + int start; + for(start = this.pos; this.pos < this.in.length(); ++this.pos) { + char c = this.in.charAt(this.pos); + if(c == 13 || c == 10 || excluded.indexOf(c) != -1) { + return this.in.substring(start, this.pos); + } + } + + return this.in.substring(start); + } + + private JSONObject readObject() throws JSONException { + JSONObject result = new JSONObject(); + int first = this.nextCleanInternal(); + if(first == 125) { + return result; + } else { + if(first != -1) { + --this.pos; + } + + while(true) { + Object name = this.nextValue(); + if(!(name instanceof String)) { + if(name == null) { + throw this.syntaxError("Names cannot be null"); + } + + throw this.syntaxError("Names must be strings, but " + name + " is of type " + name.getClass().getName()); + } + + int separator = this.nextCleanInternal(); + if(separator != 58 && separator != 61) { + throw this.syntaxError("Expected \':\' after " + name); + } + + if(this.pos < this.in.length() && this.in.charAt(this.pos) == 62) { + ++this.pos; + } + + result.put((String)name, this.nextValue()); + switch(this.nextCleanInternal()) { + case 44: + case 59: + break; + case 125: + return result; + default: + throw this.syntaxError("Unterminated object"); + } + } + } + } + + private JSONArray readArray() throws JSONException { + JSONArray result = new JSONArray(); + boolean hasTrailingSeparator = false; + + while(true) { + switch(this.nextCleanInternal()) { + case -1: + throw this.syntaxError("Unterminated array"); + case 44: + case 59: + result.put((Object)null); + hasTrailingSeparator = true; + break; + case 93: + if(hasTrailingSeparator) { + result.put((Object)null); + } + + return result; + default: + --this.pos; + result.put(this.nextValue()); + switch(this.nextCleanInternal()) { + case 44: + case 59: + hasTrailingSeparator = true; + break; + case 93: + return result; + default: + throw this.syntaxError("Unterminated array"); + } + } + } + } + + public JSONException syntaxError(String message) { + return new JSONException(message + this); + } + + public String toString() { + return " at character " + this.pos + " of " + this.in; + } + + public boolean more() { + return this.pos < this.in.length(); + } + + public char next() { + return this.pos < this.in.length()?this.in.charAt(this.pos++):'\u0000'; + } + + public char next(char c) throws JSONException { + char result = this.next(); + if(result != c) { + throw this.syntaxError("Expected " + c + " but was " + result); + } else { + return result; + } + } + + public char nextClean() throws JSONException { + int nextCleanInt = this.nextCleanInternal(); + return nextCleanInt == -1?'\u0000':(char)nextCleanInt; + } + + public String next(int length) throws JSONException { + if(this.pos + length > this.in.length()) { + throw this.syntaxError(length + " is out of bounds"); + } else { + String result = this.in.substring(this.pos, this.pos + length); + this.pos += length; + return result; + } + } + + public String nextTo(String excluded) { + if(excluded == null) { + throw new NullPointerException("excluded == null"); + } else { + return this.nextToInternal(excluded).trim(); + } + } + + public String nextTo(char excluded) { + return this.nextToInternal(String.valueOf(excluded)).trim(); + } + + public void skipPast(String thru) { + int thruStart = this.in.indexOf(thru, this.pos); + this.pos = thruStart == -1?this.in.length():thruStart + thru.length(); + } + + public char skipTo(char to) { + int index = this.in.indexOf(to, this.pos); + if(index != -1) { + this.pos = index; + return to; + } else { + return '\u0000'; + } + } + + public void back() { + if(--this.pos == -1) { + this.pos = 0; + } + + } + + public static int dehexchar(char hex) { + return hex >= 48 && hex <= 57?hex - 48:(hex >= 65 && hex <= 70?hex - 65 + 10:(hex >= 97 && hex <= 102?hex - 97 + 10:-1)); + } +} diff --git a/src/main/java/com/pengu/thaumcraft/additions/Category.java b/src/main/java/com/pengu/thaumcraft/additions/Category.java new file mode 100644 index 0000000..4a1c978 --- /dev/null +++ b/src/main/java/com/pengu/thaumcraft/additions/Category.java @@ -0,0 +1,10 @@ +package com.pengu.thaumcraft.additions; + + +public class Category { + + public static final String GENERAL = "general"; + public static final String MISC = "misc"; + + +} diff --git a/src/main/java/com/pengu/thaumcraft/additions/FormattedResearchPage.java b/src/main/java/com/pengu/thaumcraft/additions/FormattedResearchPage.java new file mode 100644 index 0000000..2f788ea --- /dev/null +++ b/src/main/java/com/pengu/thaumcraft/additions/FormattedResearchPage.java @@ -0,0 +1,19 @@ +package com.pengu.thaumcraft.additions; + +import net.minecraft.util.StatCollector; +import thaumcraft.api.aspects.Aspect; +import thaumcraft.api.aspects.AspectList; +import thaumcraft.api.research.ResearchPage; +import thaumcraft.api.research.ResearchPage.PageType; + +public class FormattedResearchPage extends ResearchPage { + + public FormattedResearchPage(Aspect as) { + super((new AspectList()).add(as, 1)); + this.type = PageType.TEXT; + } + + public String getTranslatedText() { + return StatCollector.func_74838_a("text.ta.research.aspects.crafting").replaceAll("%a", this.aspects.getAspects()[0].getName()).replaceAll("%1a", this.aspects.getAspects()[0].getComponents()[0].getName()).replaceAll("%2a", this.aspects.getAspects()[0].getComponents()[1].getName()); + } +} diff --git a/src/main/java/com/pengu/thaumcraft/additions/ModResearches.java b/src/main/java/com/pengu/thaumcraft/additions/ModResearches.java new file mode 100644 index 0000000..0fd81b2 --- /dev/null +++ b/src/main/java/com/pengu/thaumcraft/additions/ModResearches.java @@ -0,0 +1,126 @@ +package com.pengu.thaumcraft.additions; + +import com.pengu.thaumcraft.additions.R; +import com.pengu.thaumcraft.additions.TA; +import com.pengu.thaumcraft.additions.ThaumcraftRecipes; +import com.pengu.thaumcraft.additions.R.RAspectCraft; +import com.pengu.thaumcraft.additions.init.All; +import com.pengu.thaumcraft.additions.init.MB; +import com.pengu.thaumcraft.additions.init.MI; +import com.pengu.thaumcraft.additions.items.ItemSeal; +import com.pengu.thaumcraft.additions.utils.Util; +import java.awt.Color; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; +import thaumcraft.api.ThaumcraftApi; +import thaumcraft.api.aspects.Aspect; +import thaumcraft.api.aspects.AspectList; +import thaumcraft.api.crafting.InfusionRecipe; +import thaumcraft.api.research.ResearchItem; +import thaumcraft.api.research.ResearchPage; + +public class ModResearches { + + public static ResearchItem adaminite; + public static ResearchItem adaminite_sword; + public static ResearchItem adaminite_caps; + public static ResearchItem adaminitewood_rod; + public static ResearchItem adaminite_armory; + public static ResearchItem singularity; + public static ResearchItem mithrilline_caps; + public static ResearchItem mithrillium_ingot; + public static ResearchItem sealmain; + public static ResearchItem sealsymboling; + public static ResearchItem black_hole_core; + public static ResearchItem symboller; + public static ResearchItem infuser; + public static ResearchItem dark_infuser; + public static ResearchItem arcane_transmution_stone; + public static ResearchItem taintedseeds; + public static ResearchItem adaminitewood_staff; + public static ResearchItem infusionmatrixactivator; + public static ResearchItem visconduit; + public static ResearchItem arcaneDice; + public static ResearchItem enchanted_wood; + public static ResearchItem old_condensator; + public static ResearchItem arcane_transporter; + public static ResearchItem wand_foci_projectile; + public static ResearchItem wand_foci_XP; + public static ResearchItem granum; + public static ResearchItem saxum; + + + public static void init(boolean register) { + if(register) { + ThaumcraftRecipes.initAll(); + } + + adaminite = (new R("ADAMINITECRAFTING", (new AspectList()).add(Aspect.ENTROPY, 10).add(Aspect.MAGIC, 6).add(Aspect.TRAP, 8).add(TA.stone, 4), 2, 2, 3, new ItemStack(All.adaminite))).setParents(new String[]{"THAUMIUM"}).setSpecial().setPages(new ResearchPage[]{new ResearchPage("r_adaminitecrafting.text"), new ResearchPage(ThaumcraftRecipes.adaminite)}); + adaminite_sword = (new R("ADAMINITESWORD", (new AspectList()).add(Aspect.MAGIC, 6).add(Aspect.WEAPON, 16).add(Aspect.TOOL, 6).add(Aspect.CRAFT, 2), 3, -1, 3, new ItemStack(All.adaminite_sword))).setParents(new String[]{"ADAMINITECRAFTING"}).setPages(new ResearchPage[]{new ResearchPage("r_adaminitesword.text"), new ResearchPage(ThaumcraftRecipes.adaminite_sword)}); + adaminite_caps = (new R("CAP_ADAMINITE", (new AspectList()).add(Aspect.MAGIC, 6).add(Aspect.FIRE, 5), 4, 0, 2, new ItemStack(All.adaminite_cap))).setParents(new String[]{"ADAMINITECRAFTING"}).setPages(new ResearchPage[]{new ResearchPage("r_adaminite_cap.text"), new ResearchPage(ThaumcraftRecipes.adaminite_cap_inert), new ResearchPage(ThaumcraftRecipes.adaminite_cap_awake)}); + adaminitewood_rod = (new R("ROD_ADAMINITEWOOD", Util.generatePrimals(16).add(Aspect.POISON, 4).add(Aspect.AURA, 6), 4, 1, 2, new ItemStack(All.adaminitewood_rod))).setParents(new String[]{"ADAMINITECRAFTING"}).setPages(new ResearchPage[]{new ResearchPage("r_adaminitewood_rod.text"), new ResearchPage(ThaumcraftRecipes.adaminitewood_rod)}); + adaminitewood_staff = (new R("ROD_ADAMINITEWOOD_staff", Util.generatePrimals(10).add(Aspect.POISON, 8).add(Aspect.AURA, 12).add(Aspect.TOOL, 8).add(Aspect.CRAFT, 6), 4, 2, 2, new ItemStack(All.adaminitewood_staff))).setParentsHidden(new String[]{"ROD_ADAMINITEWOOD", "SCEPTRE"}).setPages(new ResearchPage[]{new ResearchPage("r_adaminitewood_staff.text"), new ResearchPage(ThaumcraftRecipes.adaminitewood_staff)}); + adaminite_armory = (new R("ADAMINITEARMOR", Util.generatePrimals(8).add(Aspect.AURA, 12), 2, 4, 2, new ItemStack(All.adaminite_armor[1]))).setParents(new String[]{"ADAMINITECRAFTING"}).setPages(new ResearchPage[]{new ResearchPage("r_adaminitearmor.text"), new ResearchPage(ThaumcraftRecipes.adaminite_helm), new ResearchPage(ThaumcraftRecipes.adaminite_chestplate), new ResearchPage(ThaumcraftRecipes.adaminite_leggings), new ResearchPage(ThaumcraftRecipes.adaminite_boots)}); + black_hole_core = (new R("SINGULARITYCORE", (new AspectList()).add(Aspect.ENTROPY, 8).add(Aspect.LIGHT, 4).add(Aspect.DARKNESS, 6), 1, -4, 2, new ItemStack(All.singularity_core))).setParents(new String[]{"MITHRILLIUMCRAFTING"}).setPages(new ResearchPage[]{new ResearchPage("r_singcore.text"), new ResearchPage(ThaumcraftRecipes.singulcore)}); + singularity = (new R("SINGULARITY", (new AspectList()).add(Aspect.ENTROPY, 8).add(Aspect.FIRE, 8).add(Aspect.LIGHT, 4), 0, 0, 2, new ItemStack(All.singularity))).setParents(new String[]{"SINGULARITYCORE"}).setPages(new ResearchPage[]{new ResearchPage("r_singularity.text"), new ResearchPage(ThaumcraftRecipes.singularity)}); + mithrillium_ingot = (new R("MITHRILLIUMCRAFTING", (new AspectList()).add(Aspect.ELDRITCH, 4).add(Aspect.TOOL, 8), 0, -6, 2, new ItemStack(All.mithrillium_ingot))).setSpecial().setParents(new String[]{"THAUMIUM"}).setPages(new ResearchPage[]{new ResearchPage("r_mithrillium_ingot.text"), new ResearchPage(ThaumcraftRecipes.mithrillium_ingot)}); + mithrilline_caps = (new R("CAP_MITHRILLIUM", (new AspectList()).add(Aspect.ELDRITCH, 4).add(Aspect.TOOL, 8), -2, -4, 2, new ItemStack(All.mithrillium_cap))).setParents(new String[]{"MITHRILLIUMCRAFTING"}).setPages(new ResearchPage[]{new ResearchPage("r_mithrillium_cap.text"), new ResearchPage(ThaumcraftRecipes.mithrillium_cap_inert), new ResearchPage(ThaumcraftRecipes.mithrillium_cap)}); + arcane_transmution_stone = (new R("TRANSMUTATIONSTONEARCANE", Util.generatePrimals(10), 0, -4, 3, new ItemStack(MI.arcane_stone))).setParentsHidden(new String[]{"MITHRILLIUMCRAFTING"}).setPages(new ResearchPage[]{new ResearchPage("r_arctrst.text"), new ResearchPage(ThaumcraftRecipes.arcane_transmution_stone)}); + sealmain = (new R("ARCANESEAL", Util.generatePrimals(6), 6, -4, 2, ItemSeal.setColor(new Color(16711680), new ItemStack(All.seal_it)))).setPages(new ResearchPage[]{new ResearchPage("r_arcaneseal.text"), new ResearchPage(ThaumcraftRecipes.arcane_seal)}); + sealsymboling = (new R("SEALSYMBOLING", (new AspectList()).add(Aspect.MAGIC, 4).add(Aspect.GREED, 2), 6, -2, 2, new ItemStack(All.seals))).setParents(new String[]{"ARCANESEAL"}).setPages(new ResearchPage[]{new ResearchPage("r_sealsymboling.text"), new ResearchPage(ThaumcraftRecipes.arcane_seal_symbol)}); + symboller = (new R("SEALSYMBOLLER", (new AspectList()).add(Aspect.MAGIC, 4).add(Aspect.GREED, 2), 7, -3, 2, new ItemStack(All.B_symboller))).setParents(new String[]{"SEALSYMBOLING"}).setPages(new ResearchPage[]{new ResearchPage("r_symboller.text"), new ResearchPage(ThaumcraftRecipes.symboller)}); + infuser = (new R("INFUSER", (new AspectList()).add(Aspect.MAGIC, 4).add(Util.generatePrimals(7)), 3, -3, 2, new ItemStack(MB.B_infuser))).setPages(new ResearchPage[]{new ResearchPage("r_infuser.text"), new ResearchPage(ThaumcraftRecipes.infuser)}); + dark_infuser = (new R("INFUSERDARK", (new AspectList()).add(Aspect.MAGIC, 4).add(Util.generatePrimals(9)), 3, -4, 2, new ItemStack(MB.B_infuser, 1, 1))).setParents(new String[]{"INFUSER"}).setPages(new ResearchPage[]{new ResearchPage("r_infuserdark.text.1"), new ResearchPage("r_infuserdark.text.2")}); + taintedseeds = (new R("TAINTEDSEEDS", (new AspectList()).add(Aspect.TAINT, 4).add(Aspect.MAGIC, 3).add(Aspect.ELDRITCH, 2).add(Aspect.CROP, 5), 0, -2, 1, new ItemStack(MI.tainted_seed))).setPages(new ResearchPage[]{new ResearchPage("r_tainedseeds.text"), new ResearchPage(ThaumcraftRecipes.tainted_seed)}); + infusionmatrixactivator = (new R("INFUSION_ACTIVATOR", Util.generatePrimals(6).add(Aspect.MAGIC, 3).add(Aspect.CRAFT, 5), 2, -5, -5, new ItemStack(All.B_infuseractivator))).setParents(new String[]{"INFUSION"}).setSpecial().setPages(new ResearchPage[]{new ResearchPage("r_infusionmatrixactivator.text"), new ResearchPage(ThaumcraftRecipes.infuseractivator)}); + enchanted_wood = (new R("ENCHANTEDWOOD", Util.generatePrimals(3).add(Aspect.MAGIC, 6).add(Aspect.AURA, 2), 3, -8, -6, new ItemStack(All.enchanted_greatwood))).setSpecial().setPages(new ResearchPage[]{new ResearchPage("r_enchantedwood.text"), new ResearchPage(new InfusionRecipe[]{ThaumcraftRecipes.enchanted_woods0, ThaumcraftRecipes.enchanted_woods1})}); + visconduit = (new R("VISTRANSPORTEVOLVED", Util.generatePrimals(5).add(Aspect.MAGIC, 2).add(Aspect.MOTION, 3).add(Aspect.WATER, 2), 3, -7, -5, new ItemStack(All.B_vis_conduit))).setParents(new String[]{"ENCHANTEDWOOD"}).setSecondary().setPages(new ResearchPage[]{new ResearchPage("r_visconduit.text"), new ResearchPage(ThaumcraftRecipes.visconduit)}); + old_condensator = (new R("VISCONDENSATOR", Util.generatePrimals(3), 2, -6, -5, new ItemStack(All.B_condensator))).setParents(new String[]{"ENCHANTEDWOOD"}).setPages(new ResearchPage[]{new ResearchPage("r_viscondenser.text"), new ResearchPage(ThaumcraftRecipes.old_condenser)}); + arcaneDice = (new R("ARCANEDICE", Util.generatePrimals(6), 1, -5, -1, new ItemStack(All.arcane_dice))).setParentsHidden(new String[]{"MITHRILLIUMCRAFTING", "PRIMPEARL"}).setPages(new ResearchPage[]{new ResearchPage("r_dice_arcana.text"), new ResearchPage(ThaumcraftRecipes.arcane_dice)}); + arcane_transporter = (new R("ARCANETRANSPORTER", (new AspectList()).add(Aspect.MOTION, 4).add(Aspect.TRAVEL, 3), 3, -9, -1, new ItemStack(All.arcane_transporter))).setParents(new String[]{"THAUMIUM"}).setPages(new ResearchPage[]{new ResearchPage("r_transporter.text"), new ResearchPage(ThaumcraftRecipes.arcane_transporter)}); + wand_foci_projectile = (new R("WANDFOCUSPROJECTILE", Util.generatePrimals(1), 1, -7, 0, new ItemStack(All.focus_projectile))).setPages(new ResearchPage[]{new ResearchPage("r_foci_projectile.text"), new ResearchPage(ThaumcraftRecipes.focus_projectile)}); + wand_foci_XP = (new R("WANDFOCUSXP", Util.generatePrimals(2).add(Aspect.MIND, 4), 2, -7, -2, new ItemStack(All.focus_xp))).setPages(new ResearchPage[]{new ResearchPage("r_foci_xp.text"), new ResearchPage(ThaumcraftRecipes.focus_XP)}); + granum = new RAspectCraft("GRANUM", TA.seed, -6, -6, 0, new ResourceLocation("thaumicadditions", "textures/aspects/colored/granum.png")); + saxum = new RAspectCraft("SAXUM", TA.stone, -7, -6, 0, new ResourceLocation("thaumicadditions", "textures/aspects/colored/saxum.png")); + ThaumcraftApi.addWarpToResearch("ADAMINITECRAFTING", 5); + ThaumcraftApi.addWarpToResearch("INFUSERDARK", 3); + ThaumcraftApi.addWarpToResearch("ARCANEDICE", 3); + ThaumcraftApi.addWarpToItem(new ItemStack(All.B_infuser, 1, 1), 3); + ThaumcraftApi.addWarpToItem(new ItemStack(All.adaminite), 5); + ThaumcraftApi.addWarpToItem(new ItemStack(All.arcane_dice), 3); + if(register) { + register(); + } + + } + + public static void register() { + adaminite.registerResearchItem(); + adaminite_sword.registerResearchItem(); + adaminite_caps.registerResearchItem(); + adaminitewood_rod.registerResearchItem(); + adaminitewood_staff.registerResearchItem(); + adaminite_armory.registerResearchItem(); + singularity.registerResearchItem(); + mithrilline_caps.registerResearchItem(); + mithrillium_ingot.registerResearchItem(); + sealmain.registerResearchItem(); + black_hole_core.registerResearchItem(); + sealsymboling.registerResearchItem(); + symboller.registerResearchItem(); + infuser.registerResearchItem(); + dark_infuser.registerResearchItem(); + arcane_transmution_stone.registerResearchItem(); + taintedseeds.registerResearchItem(); + infusionmatrixactivator.registerResearchItem(); + enchanted_wood.registerResearchItem(); + visconduit.registerResearchItem(); + old_condensator.registerResearchItem(); + arcaneDice.registerResearchItem(); + arcane_transporter.registerResearchItem(); + wand_foci_projectile.registerResearchItem(); + wand_foci_XP.registerResearchItem(); + granum.registerResearchItem(); + saxum.registerResearchItem(); + } +} diff --git a/src/main/java/com/pengu/thaumcraft/additions/R.java b/src/main/java/com/pengu/thaumcraft/additions/R.java new file mode 100644 index 0000000..36aaccb --- /dev/null +++ b/src/main/java/com/pengu/thaumcraft/additions/R.java @@ -0,0 +1,21 @@ +package com.pengu.thaumcraft.additions; + +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; +import thaumcraft.api.aspects.AspectList; +import thaumcraft.api.research.ResearchItem; + +public class R extends ResearchItem { + + public R(String key) { + super(key, "thaumicadditions".toUpperCase()); + } + + public R(String key, AspectList tags, int col, int row, int complex, ResourceLocation icon) { + super(key, "thaumicadditions".toUpperCase(), tags, col, row, complex, icon); + } + + public R(String key, AspectList tags, int col, int row, int complex, ItemStack icon) { + super(key, "thaumicadditions".toUpperCase(), tags, col, row, complex, icon); + } +} diff --git a/src/main/java/com/pengu/thaumcraft/additions/TA.java b/src/main/java/com/pengu/thaumcraft/additions/TA.java new file mode 100644 index 0000000..80f4205 --- /dev/null +++ b/src/main/java/com/pengu/thaumcraft/additions/TA.java @@ -0,0 +1,235 @@ +package com.pengu.thaumcraft.additions; + +import com.google.common.base.Stopwatch; +import com.pengu.api.thaumicadditions.enums.EnumAT; +import com.pengu.api.thaumicadditions.libThaumicAdditions.so; +import com.pengu.api.thaumicadditions.modeling.ModelLoader; +import com.pengu.logger.logging.log5z.Logger; +import com.pengu.thaumcraft.additions.ModResearches; +import com.pengu.thaumcraft.additions.TabTA; +import com.pengu.thaumcraft.additions.WorldGenMonolith; +import com.pengu.thaumcraft.additions.TA.1; +import com.pengu.thaumcraft.additions.TA.2; +import com.pengu.thaumcraft.additions.TA.3; +import com.pengu.thaumcraft.additions.TA.4; +import com.pengu.thaumcraft.additions.api.achievements.ThaumicAdditionsAchievements; +import com.pengu.thaumcraft.additions.api.others.IAPIIntegrated; +import com.pengu.thaumcraft.additions.commands.CommandCall; +import com.pengu.thaumcraft.additions.commands.CommandSetBiome; +import com.pengu.thaumcraft.additions.commands.CommandSpawn; +import com.pengu.thaumcraft.additions.commands.CommandWriteStructure; +import com.pengu.thaumcraft.additions.config.modcfg; +import com.pengu.thaumcraft.additions.event.AchievementEvent; +import com.pengu.thaumcraft.additions.gui.GUIHandler; +import com.pengu.thaumcraft.additions.init.All; +import com.pengu.thaumcraft.additions.misc.BehaviorDispenseSingularity; +import com.pengu.thaumcraft.additions.playnet.PlaynetPipeline; +import com.pengu.thaumcraft.additions.proxy.IProxy; +import com.pengu.thaumcraft.additions.utils.Reference; +import com.pengu.thaumcraft.additions.utils.TALog; +import com.pengu.util.URLAdvancedHelper; +import cpw.mods.fml.common.Loader; +import cpw.mods.fml.common.Mod; +import cpw.mods.fml.common.ModMetadata; +import cpw.mods.fml.common.SidedProxy; +import cpw.mods.fml.common.Mod.EventHandler; +import cpw.mods.fml.common.event.FMLInitializationEvent; +import cpw.mods.fml.common.event.FMLPostInitializationEvent; +import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import cpw.mods.fml.common.event.FMLServerStartingEvent; +import cpw.mods.fml.common.event.FMLServerStoppingEvent; +import cpw.mods.fml.common.network.NetworkRegistry; +import cpw.mods.fml.common.registry.GameRegistry; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.concurrent.TimeUnit; +import net.minecraft.block.BlockDispenser; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.common.AchievementPage; +import org.apache.logging.log4j.Level; +import thaumcraft.api.ThaumcraftApi; +import thaumcraft.api.ThaumcraftApiHelper; +import thaumcraft.api.aspects.Aspect; +import thaumcraft.api.aspects.AspectList; +import thaumcraft.api.research.ResearchCategories; +import thaumcraft.api.wands.StaffRod; +import thaumcraft.api.wands.WandCap; +import thaumcraft.api.wands.WandRod; + +@Mod( + modid = "thaumicadditions", + version = "0.41", + name = "Thaumic Additions", + guiFactory = "mrdimka.thaumcraft.additions.config.ConfigurationGuiFactory", + dependencies = "required-after:Thaumcraft@[4.2.3.5,);required-after:Forge@[10.13.3.137,);required-after:Baubles@[1.0.1.10,);required-after:particlelib@[1,)" +) +public class TA { + + public static Aspect stone; + public static Aspect seed; + public static WandCap adaminite_wand_cap; + public static WandCap mithrillium_wand_cap; + public static WandRod adaminitewood_wand_rod; + public static StaffRod adaminitewood_staff; + public static URLAdvancedHelper helper = new URLAdvancedHelper(); + public static final Stopwatch loadTime = Stopwatch.createUnstarted(); + public static final AchievementEvent achEvents = new AchievementEvent(); + @SidedProxy( + clientSide = "com.pengu.thaumcraft.additions.proxy.ClientProxy", + serverSide = "com.pengu.thaumcraft.additions.proxy.CommonProxy" + ) + public static IProxy proxy; + public static CreativeTabs tabTA = new TabTA(CreativeTabs.getNextID(), "thaumicadditions"); + + + @EventHandler + public void preLoad(FMLPreInitializationEvent e) { + TALog.info("Init Stage 1 (Pre Initialization) started!", new Object[0]); + Stopwatch preinit = Stopwatch.createUnstarted(); + preinit.start(); + loadTime.start(); + proxy.preInit(); + ModMetadata m = e.getModMetadata(); + m.autogenerated = false; + m.authorList = Arrays.asList(new String[]{"APengu"}); + m.version = "0.41"; + m.logoFile = "TALogo.png"; + modcfg.init(e.getSuggestedConfigurationFile()); + EnumAT[] var4 = EnumAT.values(); + int var5 = var4.length; + + for(int var6 = 0; var6 < var5; ++var6) { + EnumAT a = var4[var6]; + a.put(); + } + + PlaynetPipeline.clinit(); + All.initBlocks(); + All.initItems(); + All.initFoci(); + All.initOreDictionary(); + All.initRecipes(); + All.initTileEntities(); + All.initSealEvents(); + All.initInfuserRecipes(); + All.initTubeUpgrades(); + All.initFluids(); + if(Loader.isModLoaded("Botania")) { + this.accessClass("com.pengu.thaumcraft.additions.api.others.Botania").preInit(); + } + + GameRegistry.registerWorldGenerator(new WorldGenMonolith(), 10); + ModelLoader.registerMod("thaumicadditions", "Thaumic Additions", so.func_9434725_b()); + preinit.stop(); + TALog.info("Init Stage 1 (Pre Initialization) ended in %s ms!", new Object[]{Long.valueOf(preinit.elapsed(TimeUnit.MILLISECONDS))}); + } + + @EventHandler + public void load(FMLInitializationEvent e) { + TALog.info("Init Stage 2 (Initialization) started!", new Object[0]); + Stopwatch init = Stopwatch.createUnstarted(); + init.start(); + AchievementPage.registerAchievementPage(ThaumicAdditionsAchievements.page); + ThaumicAdditionsAchievements.registerAchievements(); + proxy.registerProxies(); + proxy.init(); + NetworkRegistry.INSTANCE.registerGuiHandler(Reference.instance, new GUIHandler()); + if(Loader.isModLoaded("Botania")) { + this.accessClass("mrdimka.thaumcraft.additions.api.others.Botania").init(); + } + + BlockDispenser.field_149943_a.func_82595_a(All.singularity, new BehaviorDispenseSingularity()); + init.stop(); + TALog.info("Init Stage 2 (Initialization) ended in %s ms!", new Object[]{Long.valueOf(init.elapsed(TimeUnit.MILLISECONDS))}); + } + + @EventHandler + public void postLoad(FMLPostInitializationEvent e) { + TALog.info("Init Stage 3 (Post Initialization) started!", new Object[0]); + Stopwatch postinit = Stopwatch.createUnstarted(); + postinit.start(); + proxy.postInit(); + ResearchCategories.registerCategory("thaumicadditions".toUpperCase(), new ResourceLocation("thaumicadditions", "textures/thaumonomicon/tc_tab_icon.png"), new ResourceLocation("thaumicadditions", "textures/thaumonomicon/tc_tab_background.png")); + stone = new Aspect("saxum", 8421504, new Aspect[]{Aspect.EARTH, Aspect.EARTH}, new ResourceLocation("thaumicadditions", "textures/aspects/mono/saxum.png"), 1); + seed = new Aspect("granum", 15638894, new Aspect[]{Aspect.LIFE, Aspect.EARTH}, new ResourceLocation("thaumicadditions", "textures/aspects/mono/granum.png"), 1); + ThaumcraftApi.registerObjectTag(new ItemStack(Blocks.field_150347_e), getAspectList(new ItemStack(Blocks.field_150347_e)).add(stone, 4)); + ThaumcraftApi.registerObjectTag(new ItemStack(Blocks.field_150348_b), getAspectList(new ItemStack(Blocks.field_150348_b)).add(stone, 4)); + ThaumcraftApi.registerObjectTag(new ItemStack(Blocks.field_150464_aj), getAspectList(new ItemStack(Blocks.field_150464_aj)).add(seed, 1)); + ThaumcraftApi.registerObjectTag(new ItemStack(Items.field_151014_N), getAspectList(new ItemStack(Items.field_151014_N)).add(seed, 1)); + ModResearches.init(true); + adaminite_wand_cap = new WandCap("ADAMINITE", 0.5F, new ItemStack(All.adaminite_cap), 15); + mithrillium_wand_cap = new WandCap("MITHRILLIUM", 0.75F, new ItemStack(All.mithrillium_cap), 10); + adaminitewood_wand_rod = new WandRod("ADAMINITEWOOD", 2000, new ItemStack(All.adaminitewood_rod), 50); + adaminitewood_staff = new StaffRod("ADAMINITEWOOD", 4500, new ItemStack(All.adaminitewood_staff), 125); + adaminitewood_staff.setGlowing(true); + adaminitewood_staff.setRunes(true); + if(Loader.isModLoaded("Botania")) { + this.accessClass("mrdimka.thaumcraft.additions.api.others.Botania").postInit(); + } + + All.initVoidChestLoot(); + gatherVersionInfo(); + + try { + Object modelLoader = Class.forName("mrdimka.api.thaumicadditions.modeling.ModelLoader").newInstance(); + Field isLate = modelLoader.getClass().getDeclaredField("isLate"); + isLate.setAccessible(true); + isLate.setBoolean(modelLoader, true); + Method logAllMods = modelLoader.getClass().getDeclaredMethod("logAllMods", new Class[0]); + logAllMods.setAccessible(true); + Logger.GeneralLog("[Thaumic Additions] Model Loader", Level.INFO, "Mod registration time is out!", new Object[0]); + Logger.GeneralLog("[Thaumic Additions] Model Loader", Level.INFO, "Mods, that have been registered:", new Object[0]); + logAllMods.invoke(modelLoader, new Object[0]); + } catch (Exception var6) { + ; + } + + loadTime.stop(); + postinit.stop(); + TALog.info("Init Stage 3 (Post Initialization) ended in %s ms!", new Object[]{Long.valueOf(postinit.elapsed(TimeUnit.MILLISECONDS))}); + TALog.info("Thaumic Additions fully loaded in %s ms!", new Object[]{Long.valueOf(loadTime.elapsed(TimeUnit.MILLISECONDS))}); + } + + @EventHandler + public void serverStart(FMLServerStartingEvent e) { + e.registerServerCommand(new CommandSpawn()); + e.registerServerCommand(new CommandSetBiome()); + e.registerServerCommand(new CommandCall()); + e.registerServerCommand(new CommandWriteStructure()); + } + + @EventHandler + public void serverStop(FMLServerStoppingEvent event) {} + + public IAPIIntegrated accessClass(String forMod) { + try { + return (IAPIIntegrated)Class.forName(forMod).newInstance(); + } catch (ClassNotFoundException var3) { + return new 1(this, forMod); + } catch (IllegalAccessException var4) { + return new 2(this, forMod); + } catch (InstantiationException var5) { + return new 3(this, forMod); + } catch (ClassCastException var6) { + return new 4(this, forMod); + } + } + + public static void gatherVersionInfo() { + Reference.OnlineVersion = "0.41"; + Reference.OnlineDescription = new ArrayList(); + Reference.doneChecking = true; + } + + private static AspectList getAspectList(ItemStack stack) { + AspectList list = ThaumcraftApiHelper.getObjectAspects(stack); + return list != null?list:new AspectList(); + } + +} diff --git a/src/main/java/com/pengu/thaumcraft/additions/TabTA.java b/src/main/java/com/pengu/thaumcraft/additions/TabTA.java new file mode 100644 index 0000000..93ae078 --- /dev/null +++ b/src/main/java/com/pengu/thaumcraft/additions/TabTA.java @@ -0,0 +1,38 @@ +package com.pengu.thaumcraft.additions; + +import com.pengu.thaumcraft.additions.TA; +import com.pengu.thaumcraft.additions.init.All; +import java.util.List; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import thaumcraft.common.config.ConfigItems; + +public class TabTA extends CreativeTabs { + + public TabTA(int id, String name) { + super(id, name); + } + + public Item func_78016_d() { + return All.singularity; + } + + public void func_78018_a(List l) { + ItemStack wand = new ItemStack(ConfigItems.itemWandCasting, 1, 5000); + NBTTagCompound nbt = new NBTTagCompound(); + nbt.func_74778_a("cap", TA.adaminite_wand_cap.getTag()); + nbt.func_74778_a("rod", TA.adaminitewood_wand_rod.getTag()); + nbt.func_74768_a("terra", 200000); + nbt.func_74768_a("ordo", 200000); + nbt.func_74768_a("ignis", 200000); + nbt.func_74768_a("aqua", 200000); + nbt.func_74768_a("perditio", 200000); + nbt.func_74768_a("aer", 200000); + wand.field_77990_d = nbt; + l.add(wand); + super.func_78018_a(l); + All.seals.func_150895_a(All.seals, this, l); + } +} diff --git a/src/main/java/com/pengu/thaumcraft/additions/ThaumcraftRecipes.java b/src/main/java/com/pengu/thaumcraft/additions/ThaumcraftRecipes.java new file mode 100644 index 0000000..fcb204b --- /dev/null +++ b/src/main/java/com/pengu/thaumcraft/additions/ThaumcraftRecipes.java @@ -0,0 +1,98 @@ +package com.pengu.thaumcraft.additions; + +import com.pengu.thaumcraft.additions.init.All; +import com.pengu.thaumcraft.additions.init.MI; +import com.pengu.thaumcraft.additions.items.ItemSeal; +import com.pengu.thaumcraft.additions.utils.Util; +import java.awt.Color; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import thaumcraft.api.ThaumcraftApi; +import thaumcraft.api.aspects.Aspect; +import thaumcraft.api.aspects.AspectList; +import thaumcraft.api.crafting.CrucibleRecipe; +import thaumcraft.api.crafting.InfusionRecipe; +import thaumcraft.api.crafting.ShapedArcaneRecipe; +import thaumcraft.common.config.ConfigBlocks; +import thaumcraft.common.config.ConfigItems; + +public class ThaumcraftRecipes { + + public static InfusionRecipe adaminite; + public static InfusionRecipe adaminite_sword; + public static InfusionRecipe adaminite_cap_awake; + public static InfusionRecipe adaminite_cap_inert; + public static InfusionRecipe adaminitewood_rod; + public static InfusionRecipe adaminite_helm; + public static InfusionRecipe adaminite_chestplate; + public static InfusionRecipe adaminite_leggings; + public static InfusionRecipe adaminite_boots; + public static InfusionRecipe singularity; + public static InfusionRecipe mithrillium_cap_inert; + public static InfusionRecipe mithrillium_cap; + public static InfusionRecipe mithrillium_ingot; + public static InfusionRecipe arcane_seal; + public static InfusionRecipe arcane_seal_symbol; + public static InfusionRecipe singulcore; + public static InfusionRecipe symboller; + public static InfusionRecipe infuseractivator; + public static InfusionRecipe enchanted_woods0; + public static InfusionRecipe enchanted_woods1; + public static InfusionRecipe arcane_transporter; + public static InfusionRecipe focus_XP; + public static ShapedArcaneRecipe infuser; + public static ShapedArcaneRecipe arcane_transmution_stone; + public static ShapedArcaneRecipe adaminitewood_staff; + public static ShapedArcaneRecipe visconduit; + public static ShapedArcaneRecipe old_condenser; + public static ShapedArcaneRecipe arcane_dice; + public static ShapedArcaneRecipe focus_projectile; + public static CrucibleRecipe tainted_seed; + + + public static void initAll() { + initInfusion(); + initArcane(); + initCrucible(); + } + + public static void initInfusion() { + adaminite = ThaumcraftApi.addInfusionCraftingRecipe("ADAMINITECRAFTING", new ItemStack(All.adaminite), 16, (new AspectList()).add(Aspect.MAGIC, 16).add(Aspect.EARTH, 64).add(Aspect.FIRE, 128), new ItemStack(ConfigItems.itemResource, 1, 2), new ItemStack[]{new ItemStack(ConfigItems.itemResource, 1, 7), new ItemStack(ConfigItems.itemResource, 1, 7), new ItemStack(ConfigItems.itemResource, 1, 6), new ItemStack(ConfigItems.itemResource, 1, 6), new ItemStack(Items.field_151045_i, 1, 0), new ItemStack(Items.field_151045_i, 1, 0), new ItemStack(Items.field_151156_bN), new ItemStack(Items.field_151156_bN)}); + adaminite_sword = ThaumcraftApi.addInfusionCraftingRecipe("ADAMINITESWORD", new ItemStack(All.adaminite_sword), 8, (new AspectList()).add(Aspect.MAGIC, 64), new ItemStack(ConfigItems.itemSwordThaumium), new ItemStack[]{new ItemStack(All.adaminite), new ItemStack(All.adaminite), new ItemStack(Items.field_151045_i), new ItemStack(Items.field_151045_i)}); + adaminite_cap_awake = ThaumcraftApi.addInfusionCraftingRecipe("CAP_ADAMINITE", new ItemStack(All.adaminite_cap), 8, (new AspectList()).add(Aspect.MAGIC, 32).add(Aspect.FIRE, 32).add(Aspect.AURA, 16), new ItemStack(All.adaminite_cap_inert), new ItemStack[]{new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(ConfigItems.itemResource, 1, 14)}); + adaminite_cap_inert = ThaumcraftApi.addInfusionCraftingRecipe("CAP_ADAMINITE", new ItemStack(All.adaminite_cap_inert), 8, (new AspectList()).add(Aspect.MAGIC, 32).add(Aspect.FIRE, 32).add(Aspect.ELDRITCH, 8), new ItemStack(ConfigItems.itemWandCap, 1, 2), new ItemStack[]{new ItemStack(All.adaminite), new ItemStack(All.adaminite), new ItemStack(Items.field_151045_i), new ItemStack(Items.field_151045_i), new ItemStack(ConfigItems.itemZombieBrain)}); + adaminitewood_rod = ThaumcraftApi.addInfusionCraftingRecipe("ROD_ADAMINITEWOOD", new ItemStack(All.adaminitewood_rod), 8, (new AspectList()).add(Aspect.MAGIC, 64).add(Aspect.FIRE, 32).add(Aspect.POISON, 32).add(Aspect.AURA, 12), new ItemStack(ConfigItems.itemWandRod, 1, 2), new ItemStack[]{new ItemStack(All.adaminite), new ItemStack(All.adaminite), new ItemStack(Items.field_151045_i), new ItemStack(Items.field_151045_i), new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(ConfigItems.itemResource, 1, 14)}); + adaminite_helm = ThaumcraftApi.addInfusionCraftingRecipe("ADAMINITEARMOR", new ItemStack(All.adaminite_armor[0]), 16, (new AspectList()).add(Aspect.MAGIC, 64).add(Aspect.FIRE, 32).add(Aspect.HEAL, 12).add(Aspect.LIFE, 16), new ItemStack(ConfigItems.itemHelmetThaumium, 1, 0), new ItemStack[]{new ItemStack(ConfigItems.itemGoggles), new ItemStack(All.adaminite), new ItemStack(All.adaminite), new ItemStack(Items.field_151045_i), new ItemStack(Items.field_151045_i)}); + adaminite_chestplate = ThaumcraftApi.addInfusionCraftingRecipe("ADAMINITEARMOR", new ItemStack(All.adaminite_armor[1]), 16, (new AspectList()).add(Aspect.MAGIC, 64).add(Aspect.FIRE, 32).add(Aspect.HEAL, 12).add(Aspect.LIFE, 16), new ItemStack(ConfigItems.itemChestThaumium, 1, 0), new ItemStack[]{new ItemStack(All.adaminite), new ItemStack(All.adaminite), new ItemStack(Items.field_151045_i), new ItemStack(Items.field_151045_i)}); + adaminite_leggings = ThaumcraftApi.addInfusionCraftingRecipe("ADAMINITEARMOR", new ItemStack(All.adaminite_armor[2]), 16, (new AspectList()).add(Aspect.MAGIC, 64).add(Aspect.FIRE, 32).add(Aspect.HEAL, 12).add(Aspect.LIFE, 16), new ItemStack(ConfigItems.itemLegsThaumium, 1, 0), new ItemStack[]{new ItemStack(All.adaminite), new ItemStack(All.adaminite), new ItemStack(Items.field_151045_i), new ItemStack(Items.field_151045_i)}); + adaminite_boots = ThaumcraftApi.addInfusionCraftingRecipe("ADAMINITEARMOR", new ItemStack(All.adaminite_armor[3]), 16, (new AspectList()).add(Aspect.MAGIC, 64).add(Aspect.FIRE, 32).add(Aspect.HEAL, 12).add(Aspect.LIFE, 16), new ItemStack(ConfigItems.itemBootsThaumium, 1, 0), new ItemStack[]{new ItemStack(All.adaminite), new ItemStack(All.adaminite), new ItemStack(Items.field_151045_i), new ItemStack(Items.field_151045_i)}); + singularity = ThaumcraftApi.addInfusionCraftingRecipe("SINGULARITY", new ItemStack(All.singularity, 2), 4, (new AspectList()).add(Aspect.FIRE, 8).add(Aspect.ENTROPY, 8).add(Aspect.MAGIC, 4).add(Aspect.DARKNESS, 8).add(Aspect.ENERGY, 6), new ItemStack(All.singularity_core, 1, 0), new ItemStack[]{new ItemStack(ConfigItems.itemResource, 1, 0), new ItemStack(ConfigItems.itemResource, 1, 1), new ItemStack(ConfigItems.itemResource, 1, 1), new ItemStack(ConfigItems.itemResource, 1, 0)}); + singulcore = ThaumcraftApi.addInfusionCraftingRecipe("SINGULARITYCORE", new ItemStack(All.singularity_core), 4, (new AspectList()).add(Aspect.FIRE, 4).add(Aspect.ENTROPY, 16).add(Aspect.MAGIC, 4).add(Aspect.DARKNESS, 32).add(Aspect.ENERGY, 32).add(Aspect.VOID, 32), new ItemStack(All.mithrillium_ingot, 1, 0), new ItemStack[]{new ItemStack(Blocks.field_150343_Z), new ItemStack(Blocks.field_150343_Z), new ItemStack(Items.field_151079_bi), new ItemStack(ConfigItems.itemResource, 1, 14)}); + mithrillium_cap_inert = ThaumcraftApi.addInfusionCraftingRecipe("CAP_MITHRILLIUM", new ItemStack(All.inert_mithrillium_cap), 6, (new AspectList()).add(Aspect.FIRE, 8).add(Aspect.ENTROPY, 8).add(Aspect.MAGIC, 4).add(Aspect.ENERGY, 6).add(Aspect.ELDRITCH, 3), new ItemStack(ConfigItems.itemWandCap, 1, 2), new ItemStack[]{new ItemStack(All.mithrillium_ingot), new ItemStack(All.mithrillium_ingot), new ItemStack(Items.field_151045_i)}); + mithrillium_cap = ThaumcraftApi.addInfusionCraftingRecipe("CAP_MITHRILLIUM", new ItemStack(All.mithrillium_cap), 6, (new AspectList()).add(Aspect.FIRE, 8).add(Aspect.ENTROPY, 8).add(Aspect.MAGIC, 4).add(Aspect.ENERGY, 6).add(Aspect.ELDRITCH, 3), new ItemStack(All.inert_mithrillium_cap), new ItemStack[]{new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(ConfigItems.itemResource, 1, 14)}); + mithrillium_ingot = ThaumcraftApi.addInfusionCraftingRecipe("MITHRILLIUMCRAFTING", new ItemStack(All.mithrillium_ingot, 2), 6, (new AspectList()).add(Aspect.FIRE, 8).add(Aspect.ENTROPY, 8).add(Aspect.MAGIC, 4).add(Aspect.ENERGY, 6).add(Aspect.ELDRITCH, 3), new ItemStack(ConfigItems.itemResource, 1, 2), new ItemStack[]{new ItemStack(Items.field_151045_i), new ItemStack(Items.field_151045_i), new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(ConfigItems.itemResource, 1, 7), new ItemStack(ConfigItems.itemResource, 1, 7), new ItemStack(ConfigItems.itemResource, 1, 6), new ItemStack(ConfigItems.itemResource, 1, 6)}); + arcane_seal = ThaumcraftApi.addInfusionCraftingRecipe("ARCANESEAL", ItemSeal.setColor(new Color(16777215), new ItemStack(All.seal_it)), 2, Util.generatePrimals(2), new ItemStack(Blocks.field_150325_L), new ItemStack[]{new ItemStack(Items.field_151043_k), new ItemStack(Items.field_151043_k), new ItemStack(Items.field_151043_k), new ItemStack(Items.field_151043_k)}); + arcane_seal_symbol = ThaumcraftApi.addInfusionCraftingRecipe("SEALSYMBOLING", new ItemStack(All.seals), 0, Util.generatePrimals(1), new ItemStack(Items.field_151065_br), new ItemStack[]{new ItemStack(Items.field_151074_bl), new ItemStack(Items.field_151074_bl), new ItemStack(Items.field_151074_bl)}); + symboller = ThaumcraftApi.addInfusionCraftingRecipe("SEALSYMBOLING", new ItemStack(All.B_symboller), 5, Util.generatePrimals(4), new ItemStack(All.seals), new ItemStack[]{new ItemStack(Items.field_151043_k), new ItemStack(Items.field_151043_k), new ItemStack(Items.field_151043_k), new ItemStack(Items.field_151043_k), new ItemStack(Items.field_151045_i), new ItemStack(ConfigItems.itemResource, 1, 14)}); + infuseractivator = ThaumcraftApi.addInfusionCraftingRecipe("INFUSION_ACTIVATOR", new ItemStack(All.B_infuseractivator), 8, Util.generatePrimals(32).add(Aspect.MAGIC, 32).add(Aspect.CRAFT, 15), new ItemStack(ConfigItems.itemResource, 1, 15), new ItemStack[]{new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(Items.field_151045_i), new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(Items.field_151042_j), new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(Items.field_151042_j), new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(Items.field_151043_k)}); + enchanted_woods0 = ThaumcraftApi.addInfusionCraftingRecipe("ENCHANTEDWOOD", new ItemStack(All.enchanted_greatwood), 0, Util.generatePrimals(4), new ItemStack(ConfigBlocks.blockMagicalLog, 1, 0), new ItemStack[]{new ItemStack(Blocks.field_150364_r), new ItemStack(Blocks.field_150364_r), new ItemStack(Blocks.field_150364_r), new ItemStack(Blocks.field_150364_r)}); + enchanted_woods1 = ThaumcraftApi.addInfusionCraftingRecipe("ENCHANTEDWOOD", new ItemStack(All.enchanted_silverwood), 1, Util.generatePrimals(8), new ItemStack(ConfigBlocks.blockMagicalLog, 1, 1), new ItemStack[]{new ItemStack(All.enchanted_greatwood), new ItemStack(All.enchanted_greatwood), new ItemStack(All.enchanted_greatwood), new ItemStack(All.enchanted_greatwood)}); + arcane_transporter = ThaumcraftApi.addInfusionCraftingRecipe("ARCANETRANSPORTER", new ItemStack(All.arcane_transporter), 6, Util.generatePrimals(8).add(Aspect.MOTION, 16), new ItemStack(Blocks.field_150486_ae), new ItemStack[]{new ItemStack(ConfigItems.itemResource, 1, 2), new ItemStack(ConfigItems.itemResource, 1, 2), new ItemStack(ConfigItems.itemResource, 1, 2), new ItemStack(ConfigItems.itemResource, 1, 2), new ItemStack(ConfigItems.itemResource, 1, 2), new ItemStack(ConfigItems.itemResource, 1, 2), new ItemStack(ConfigItems.itemResource, 1, 2), new ItemStack(ConfigItems.itemResource, 1, 2)}); + focus_XP = ThaumcraftApi.addInfusionCraftingRecipe("WANDFOCUSXP", new ItemStack(All.focus_xp), 10, Util.generatePrimals(7).add(Aspect.MIND, 64), new ItemStack(ConfigBlocks.blockJar, 1, 1), new ItemStack[]{new ItemStack(ConfigItems.itemZombieBrain), new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(ConfigItems.itemZombieBrain), new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(ConfigItems.itemZombieBrain), new ItemStack(ConfigItems.itemResource, 1, 14), new ItemStack(ConfigItems.itemZombieBrain), new ItemStack(ConfigItems.itemResource, 1, 14)}); + } + + public static void initCrucible() { + tainted_seed = ThaumcraftApi.addCrucibleRecipe("TAINTEDSEEDS", new ItemStack(MI.tainted_seed), new ItemStack(Items.field_151014_N), (new AspectList()).add(Aspect.TAINT, 16)); + } + + public static void initArcane() { + infuser = ThaumcraftApi.addArcaneCraftingRecipe("INFUSER", new ItemStack(All.B_infuser, 1, 0), Util.generatePrimals(12), new Object[]{"SSS", "IPI", "III", Character.valueOf('S'), new ItemStack(Blocks.field_150333_U), Character.valueOf('I'), new ItemStack(Items.field_151042_j), Character.valueOf('P'), new ItemStack(ConfigItems.itemResource, 1, 15)}); + arcane_transmution_stone = ThaumcraftApi.addArcaneCraftingRecipe("TRANSMUTATIONSTONEARCANE", new ItemStack(MI.arcane_stone), Util.generatePrimals(113), new Object[]{"MAM", "APA", "MAM", Character.valueOf('M'), new ItemStack(MI.mithrillium_ingot), Character.valueOf('A'), new ItemStack(ConfigBlocks.blockCosmeticSolid, 1, 6), Character.valueOf('P'), new ItemStack(ConfigItems.itemEldritchObject, 1, 3)}); + adaminitewood_staff = ThaumcraftApi.addArcaneCraftingRecipe("STAFF_ADAMINITEWOOD", new ItemStack(All.adaminitewood_staff, 1, 0), Util.generatePrimals(500), new Object[]{" p", " s ", "s ", Character.valueOf('p'), new ItemStack(ConfigItems.itemResource, 1, 15), Character.valueOf('s'), new ItemStack(All.adaminitewood_rod)}); + visconduit = ThaumcraftApi.addArcaneCraftingRecipe("VISTRANSPORTEVOLVED", new ItemStack(All.B_vis_conduit, 16), Util.generatePrimals(5), new Object[]{"EGE", "G G", "EGE", Character.valueOf('E'), "EnchantedGreatwood", Character.valueOf('G'), "paneGlass"}); + old_condenser = ThaumcraftApi.addArcaneCraftingRecipe("VISCONDENSATOR", new ItemStack(All.B_condensator), Util.generatePrimals(4), new Object[]{"E E", "ESE", "EIE", Character.valueOf('E'), "EnchantedGreatwood", Character.valueOf('S'), "EnchantedSilverwood", Character.valueOf('I'), "ingotIron"}); + arcane_dice = ThaumcraftApi.addArcaneCraftingRecipe("ARCANEDICE", new ItemStack(All.arcane_dice), Util.generatePrimals(150), new Object[]{"MVM", "VPV", "MVM", Character.valueOf('V'), "ingotVoid", Character.valueOf('M'), "ingotMithrillium", Character.valueOf('P'), "pearlPrimal"}); + focus_projectile = ThaumcraftApi.addArcaneCraftingRecipe("WANDFOCUSPROJECTILE", new ItemStack(All.focus_projectile), Util.generatePrimals(80), new Object[]{"GIG", "ISI", "GIG", Character.valueOf('G'), "ingotGold", Character.valueOf('I'), "ingotIron", Character.valueOf('S'), ConfigItems.itemFocusFrost}); + } +} diff --git a/src/main/java/com/pengu/thaumcraft/additions/VoidChestLootRegistry.java b/src/main/java/com/pengu/thaumcraft/additions/VoidChestLootRegistry.java new file mode 100644 index 0000000..19e6339 --- /dev/null +++ b/src/main/java/com/pengu/thaumcraft/additions/VoidChestLootRegistry.java @@ -0,0 +1,28 @@ +package com.pengu.thaumcraft.additions; + +import com.pengu.thaumcraft.additions.utils.Chance; +import com.pengu.thaumcraft.additions.utils.TALog; +import java.util.ArrayList; +import java.util.List; +import net.minecraft.item.ItemStack; + +public class VoidChestLootRegistry { + + public static final List ITEMS = new ArrayList(); + public static final List ITEMCHANCE = new ArrayList(); + public static final List MAXITEMSTACKSINONECHEST = new ArrayList(); + + + public static void RegisterVoidLoot(int chance, ItemStack item, int times) { + ITEMS.add(item); + ITEMCHANCE.add(new Chance(chance)); + MAXITEMSTACKSINONECHEST.add(new Chance(times)); + if(times == 1) { + TALog.info("Registered " + item.func_77973_b().func_77667_c(item) + " In Max Quantity Of " + item.field_77994_a + " And Max Vein Amount Of " + times + " To The Void Chest.", new Object[0]); + } else { + TALog.info("Registered " + item.func_77973_b().func_77667_c(item) + " In Max Quantity Of " + item.field_77994_a + " And Max Veins Amount Of " + times + " To The Void Chest.", new Object[0]); + } + + } + +} diff --git a/src/main/java/com/pengu/thaumcraft/additions/WorldGenMonolith.java b/src/main/java/com/pengu/thaumcraft/additions/WorldGenMonolith.java new file mode 100644 index 0000000..9d0bd9e --- /dev/null +++ b/src/main/java/com/pengu/thaumcraft/additions/WorldGenMonolith.java @@ -0,0 +1,21 @@ +package com.pengu.thaumcraft.additions; + +import com.pengu.thaumcraft.additions.utils.MonolithHelper; +import com.pengu.thaumcraft.additions.utils.Util; +import cpw.mods.fml.common.IWorldGenerator; +import java.util.Random; +import net.minecraft.world.World; +import net.minecraft.world.chunk.IChunkProvider; + +public class WorldGenMonolith implements IWorldGenerator { + + public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) { + int x = chunkX * 16 + random.nextInt(16); + int z = chunkZ * 16 + random.nextInt(16); + int y = Util.getMaxBlockYBeforeAirStarts(world, x, z); + if(world.field_73011_w.field_76574_g == 0 && y > 68 && random.nextInt(10000) < 10) { + MonolithHelper.build(world, x, y, z, false, true); + } + + } +} diff --git a/src/main/java/com/pengu/thaumcraft/additions/api/achievements/ThaumicAdditionsAchievements.java b/src/main/java/com/pengu/thaumcraft/additions/api/achievements/ThaumicAdditionsAchievements.java new file mode 100644 index 0000000..44f2392 --- /dev/null +++ b/src/main/java/com/pengu/thaumcraft/additions/api/achievements/ThaumicAdditionsAchievements.java @@ -0,0 +1,66 @@ +package com.pengu.thaumcraft.additions.api.achievements; + +import com.pengu.thaumcraft.additions.init.All; +import com.pengu.thaumcraft.additions.init.MB; +import java.util.HashMap; +import java.util.Map; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.stats.Achievement; +import net.minecraft.stats.StatBase; +import net.minecraftforge.common.AchievementPage; +import thaumcraft.api.wands.WandCap; +import thaumcraft.api.wands.WandRod; +import thaumcraft.common.config.ConfigBlocks; +import thaumcraft.common.config.ConfigItems; +import thaumcraft.common.items.wands.ItemWandCasting; + +public class ThaumicAdditionsAchievements { + + public static final AchievementPage page = new AchievementPage("Thaumic Additions", new Achievement[0]); + public static final Map mapping = new HashMap(); + + + public static void registerAchievements() { + registerAchievement("basicwand", "wand.wood", "wand.wood", 0, 0, new ItemStack(ConfigItems.itemWandCasting), (Achievement)null, false); + registerAchievement("greatwoodwand", "wand.greatwood", "wand.greatwood", 0, -1, makeWand(ConfigItems.WAND_ROD_GREATWOOD, ConfigItems.WAND_CAP_GOLD), (Achievement)mapping.get("basicwand"), false); + registerAchievement("silverwoodwand", "wand.silverwood", "wand.silverwood", 0, -2, makeWand(ConfigItems.WAND_ROD_SILVERWOOD, ConfigItems.WAND_CAP_THAUMIUM), (Achievement)mapping.get("greatwoodwand"), false); + registerAchievement("voidwand", "wand.void", "wand.void", 0, -3, makeWand(ConfigItems.WAND_ROD_SILVERWOOD, ConfigItems.WAND_CAP_VOID), (Achievement)mapping.get("silverwoodwand"), false); + registerAchievement("research", "item.scribe", "item.scribe", -1, 0, new ItemStack(ConfigItems.itemInkwell), (Achievement)null, false); + registerAchievement("arcanetransporter", "item.transporter", "item.transporter", 3, -2, new ItemStack(All.arcane_transporter), (Achievement)mapping.get("thaumium"), false); + registerAchievement("primalpearl", "item.primalpearl", "item.primalpearl", 2, -2, new ItemStack(ConfigItems.itemEldritchObject, 1, 3), (Achievement)mapping.get("silverwoodwand"), true); + registerAchievement("creative.node", "creative.node", "creative.node", 5, 5, new ItemStack(MB.B_CreativeNode), (Achievement)null, true); + registerAchievement("alchemy", "block.crucible", "block.crucible", 1, 0, new ItemStack(ConfigBlocks.blockMetalDevice, 1, 0), (Achievement)mapping.get("basicwand"), false); + registerAchievement("nitor", "item.nitor", "item.nitor", 2, -1, new ItemStack(ConfigItems.itemResource, 1, 1), (Achievement)mapping.get("alchemy"), false); + registerAchievement("alumentum", "item.alumentum", "item.alumentum", 3, -1, new ItemStack(ConfigItems.itemResource, 1, 0), (Achievement)mapping.get("alchemy"), false); + registerAchievement("thaumium", "item.thaumium", "item.thaumium", 4, -1, new ItemStack(ConfigItems.itemResource, 1, 2), (Achievement)mapping.get("alchemy"), false); + } + + public static ItemStack makeWand(WandRod rod, WandCap cap) { + ItemWandCasting w = (ItemWandCasting)ConfigItems.itemWandCasting; + ItemStack it = new ItemStack(w); + w.setCap(it, cap); + w.setRod(it, rod); + return it; + } + + public static void registerAchievement(String mapname, String IdName, String unlocalizedName, int x, int y, ItemStack stack, Achievement dependency, boolean special) { + Achievement achievement = new Achievement("thaumicadditions:" + IdName, "thaumicadditions:" + unlocalizedName, x, y, stack, dependency); + if(dependency == null) { + achievement.func_75966_h(); + } + + if(special) { + achievement.func_75987_b(); + } + + achievement.func_75971_g(); + page.getAchievements().add(achievement); + mapping.put(mapname.toLowerCase(), achievement); + } + + public static void triggerAchievement(EntityPlayerMP player, String map) { + player.func_71064_a((StatBase)mapping.get(map.toLowerCase()), 1); + } + +} diff --git a/src/main/java/com/pengu/thaumcraft/additions/api/integration/APIProvide.java b/src/main/java/com/pengu/thaumcraft/additions/api/integration/APIProvide.java new file mode 100644 index 0000000..f7d4319 --- /dev/null +++ b/src/main/java/com/pengu/thaumcraft/additions/api/integration/APIProvide.java @@ -0,0 +1,63 @@ +package com.pengu.thaumcraft.additions.api.integration; + +import com.pengu.api.thaumicadditions.IAPIProvide; +import com.pengu.thaumcraft.additions.TA; +import com.pengu.thaumcraft.additions.api.achievements.ThaumicAdditionsAchievements; +import com.pengu.thaumcraft.additions.api.integration.DiceDropRegistry; +import com.pengu.thaumcraft.additions.fx.FXColoredFlame; +import com.pengu.thaumcraft.additions.utils.hud.HUD; +import com.pengu.thaumcraft.additions.utils.hud.TipMessage; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import java.util.ArrayList; +import net.minecraft.client.particle.EntityFX; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import net.minecraftforge.common.AchievementPage; +import thaumcraft.api.ThaumcraftApi; +import thaumcraft.client.fx.ParticleEngine; +import thaumcraft.common.Thaumcraft; + +public class APIProvide implements IAPIProvide { + + public void infectItem(ItemStack stack, int warp) { + ThaumcraftApi.addWarpToItem(stack, warp); + } + + public CreativeTabs getCreativeTab() { + return TA.tabTA; + } + + @SideOnly(Side.CLIENT) + public EntityFX spawnColoredFlame(World w, double x, double y, double z, int color, int maxAge, float scale) { + return (new FXColoredFlame(w, x, y, z, color, maxAge, scale)).spawn(); + } + + @SideOnly(Side.CLIENT) + public EntityFX spawnCustomParticle(EntityFX particle) { + ParticleEngine.instance.addEffect(TA.proxy.getClientWorld(), particle); + return particle; + } + + public AchievementPage getAchievementPage() { + return ThaumicAdditionsAchievements.page; + } + + public void showTipMessage(String text, long ticks, long appearTime, long disappearTime) { + HUD.instance.currentMessage = new TipMessage(text, ticks, appearTime, disappearTime); + } + + public void registerArcaneDiceDrop(Item theDrop) { + DiceDropRegistry.instance.registerPossibleDrop(theDrop); + } + + public boolean doesPlayerHaveResearch(String player, String research) { + try { + return ((ArrayList)Thaumcraft.proxy.playerKnowledge.researchCompleted.get(player)).contains(research); + } catch (Throwable var4) { + return false; + } + } +} diff --git a/src/main/java/com/pengu/thaumcraft/additions/api/integration/DiceDropRegistry.java b/src/main/java/com/pengu/thaumcraft/additions/api/integration/DiceDropRegistry.java new file mode 100644 index 0000000..a8ae42e --- /dev/null +++ b/src/main/java/com/pengu/thaumcraft/additions/api/integration/DiceDropRegistry.java @@ -0,0 +1,22 @@ +package com.pengu.thaumcraft.additions.api.integration; + +import java.util.HashSet; +import java.util.Random; +import java.util.Set; +import net.minecraft.item.Item; + +public class DiceDropRegistry { + + public static final DiceDropRegistry instance = new DiceDropRegistry(); + private final Set drops = new HashSet(); + + + public void registerPossibleDrop(Item drop) { + this.drops.add(drop); + } + + public Item getRandomDrop(Random rand) { + return (Item)((Item)this.drops.toArray()[rand.nextInt(this.drops.size())]); + } + +} diff --git a/src/main/java/com/pengu/thaumcraft/additions/api/integration/ThaumicAdditionsDamage.java b/src/main/java/com/pengu/thaumcraft/additions/api/integration/ThaumicAdditionsDamage.java new file mode 100644 index 0000000..0297e60 --- /dev/null +++ b/src/main/java/com/pengu/thaumcraft/additions/api/integration/ThaumicAdditionsDamage.java @@ -0,0 +1,14 @@ +package com.pengu.thaumcraft.additions.api.integration; + +import net.minecraft.entity.Entity; +import net.minecraft.util.DamageSource; + +public class ThaumicAdditionsDamage { + + public static void attackEntity(Entity ent, DamageSource src, String dmgName, float damageDealt) { + String name = src.field_76373_n; + src.field_76373_n = "thaumicadditions:" + dmgName; + ent.func_70097_a(src, damageDealt); + src.field_76373_n = name; + } +} diff --git a/src/main/java/com/pengu/thaumcraft/additions/api/others/APIIntgrated.java b/src/main/java/com/pengu/thaumcraft/additions/api/others/APIIntgrated.java new file mode 100644 index 0000000..4ca3dad --- /dev/null +++ b/src/main/java/com/pengu/thaumcraft/additions/api/others/APIIntgrated.java @@ -0,0 +1,13 @@ +package com.pengu.thaumcraft.additions.api.others; + +import com.pengu.thaumcraft.additions.api.others.IAPIIntegrated; + +public abstract class APIIntgrated implements IAPIIntegrated { + + public static final String DEFAULTVALUENAME = "TAdditions"; + + + public String getName() { + return "TAdditions"; + } +} diff --git a/src/main/java/com/pengu/thaumcraft/additions/api/others/BloodMagic.java b/src/main/java/com/pengu/thaumcraft/additions/api/others/BloodMagic.java new file mode 100644 index 0000000..798ee0a --- /dev/null +++ b/src/main/java/com/pengu/thaumcraft/additions/api/others/BloodMagic.java @@ -0,0 +1,16 @@ +package com.pengu.thaumcraft.additions.api.others; + +import com.pengu.thaumcraft.additions.api.others.IAPIIntegrated; + +public class BloodMagic implements IAPIIntegrated { + + public void preInit() {} + + public void init() {} + + public void postInit() {} + + public String discriminator() { + return "Blood Magic: Alchemical Wizardry"; + } +} diff --git a/src/main/java/com/pengu/thaumcraft/additions/api/others/Botania.java b/src/main/java/com/pengu/thaumcraft/additions/api/others/Botania.java new file mode 100644 index 0000000..aa3f7e6 --- /dev/null +++ b/src/main/java/com/pengu/thaumcraft/additions/api/others/Botania.java @@ -0,0 +1,44 @@ +package com.pengu.thaumcraft.additions.api.others; + +import com.pengu.thaumcraft.additions.api.others.APIIntgrated; +import com.pengu.util.ForgeDirectionHelper; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; +import vazkii.botania.api.BotaniaAPI; +import vazkii.botania.api.mana.IManaReceiver; +import vazkii.botania.api.wiki.SimpleWikiProvider; + +public class Botania extends APIIntgrated { + + public void preInit() { + BotaniaAPI.registerModWiki("thaumicadditions", new SimpleWikiProvider("Thaumic Additions wiki", "http://sharpythinkingmods.weebly.com/thaumicadditionswiki-%s", "-")); + } + + public void init() {} + + public void postInit() {} + + public String discriminator() { + return "Botania"; + } + + public String getName() { + return "Botania integration"; + } + + public int handleManaGen(World worldObj, int xCoord, int yCoord, int zCoord, ForgeDirection s, int maxReceive) { + if(worldObj.func_147438_o(xCoord + ForgeDirectionHelper.getForgeDirectionXApplyed(s), yCoord + ForgeDirectionHelper.getForgeDirectionYApplyed(s), zCoord + ForgeDirectionHelper.getForgeDirectionZApplyed(s)) instanceof IManaReceiver) { + int mana = ((IManaReceiver)worldObj.func_147438_o(xCoord + ForgeDirectionHelper.getForgeDirectionXApplyed(s), yCoord + ForgeDirectionHelper.getForgeDirectionYApplyed(s), zCoord + ForgeDirectionHelper.getForgeDirectionZApplyed(s))).getCurrentMana(); + ((IManaReceiver)worldObj.func_147438_o(xCoord + ForgeDirectionHelper.getForgeDirectionXApplyed(s), yCoord + ForgeDirectionHelper.getForgeDirectionYApplyed(s), zCoord + ForgeDirectionHelper.getForgeDirectionZApplyed(s))).recieveMana(maxReceive); + int now = ((IManaReceiver)worldObj.func_147438_o(xCoord + ForgeDirectionHelper.getForgeDirectionXApplyed(s), yCoord + ForgeDirectionHelper.getForgeDirectionYApplyed(s), zCoord + ForgeDirectionHelper.getForgeDirectionZApplyed(s))).getCurrentMana(); + mana -= now; + return mana; + } else { + return 0; + } + } + + public boolean canConnect(World worldObj, int xCoord, int yCoord, int zCoord, ForgeDirection s) { + return worldObj.func_147438_o(xCoord + ForgeDirectionHelper.getForgeDirectionXApplyed(s), yCoord + ForgeDirectionHelper.getForgeDirectionYApplyed(s), zCoord + ForgeDirectionHelper.getForgeDirectionZApplyed(s)) instanceof IManaReceiver; + } +} diff --git a/src/main/java/com/pengu/thaumcraft/additions/api/others/IAPIIntegrated.java b/src/main/java/com/pengu/thaumcraft/additions/api/others/IAPIIntegrated.java new file mode 100644 index 0000000..763dc90 --- /dev/null +++ b/src/main/java/com/pengu/thaumcraft/additions/api/others/IAPIIntegrated.java @@ -0,0 +1,13 @@ +package com.pengu.thaumcraft.additions.api.others; + + +public interface IAPIIntegrated { + + void preInit(); + + void init(); + + void postInit(); + + String discriminator(); +} diff --git a/src/main/java/com/pengu/thaumcraft/additions/api/others/WAILA.java b/src/main/java/com/pengu/thaumcraft/additions/api/others/WAILA.java new file mode 100644 index 0000000..53f47ba --- /dev/null +++ b/src/main/java/com/pengu/thaumcraft/additions/api/others/WAILA.java @@ -0,0 +1,33 @@ +package com.pengu.thaumcraft.additions.api.others; + +import java.util.List; +import mcp.mobius.waila.api.IWailaConfigHandler; +import mcp.mobius.waila.api.IWailaDataAccessor; +import mcp.mobius.waila.api.IWailaDataProvider; +import mcp.mobius.waila.api.IWailaRegistrar; +import net.minecraft.block.Block; +import net.minecraft.item.ItemStack; + +public class WAILA implements IWailaDataProvider { + + public ItemStack getWailaStack(IWailaDataAccessor accessor, IWailaConfigHandler config) { + return null; + } + + public List getWailaHead(ItemStack itemStack, List currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config) { + return currenttip; + } + + public List getWailaBody(ItemStack itemStack, List currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config) { + return currenttip; + } + + public List getWailaTail(ItemStack itemStack, List currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config) { + return currenttip; + } + + public static void callbackRegister(IWailaRegistrar registrar) { + registrar.registerBodyProvider(new WAILA(), Block.class); + registrar.addConfig("Thaumic Additions".replaceAll(" ", ""), "thaumicadditions.displaySide"); + } +} diff --git a/src/main/java/com/pengu/thaumcraft/additions/app/AppLauncher.java b/src/main/java/com/pengu/thaumcraft/additions/app/AppLauncher.java new file mode 100644 index 0000000..8178a15 --- /dev/null +++ b/src/main/java/com/pengu/thaumcraft/additions/app/AppLauncher.java @@ -0,0 +1,99 @@ +package com.pengu.thaumcraft.additions.app; + +import com.pengu.thaumcraft.additions.app.Button; +import com.pengu.thaumcraft.additions.app.ButtonNo; +import com.pengu.thaumcraft.additions.app.ButtonYes; +import com.pengu.thaumcraft.additions.app.GUI; +import com.pengu.thaumcraft.additions.app.AppLauncher.1; +import com.pengu.util.URLAdvancedHelper; +import java.awt.Color; +import java.net.URL; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class AppLauncher { + + public static final AppLauncher INSTANCE = new AppLauncher(); + public GUI window; + public String[] arguments; + public static URLAdvancedHelper helper = new URLAdvancedHelper(); + public static Button[] btns = new Button[2]; + public static final String version = "2"; + public static final Map colors = new HashMap(); + public static int selected = 1; + public static String OnlineVersion = ""; + public static List OnlineDescription = new ArrayList(); + public static boolean doneChecking = false; + + + public static void main(String[] args) { + gatherVersionInfo(); + btns[0] = new ButtonYes(); + btns[1] = new ButtonNo(); + btns[0].text = "Yes"; + btns[1].text = "No"; + btns[0].x = 5; + btns[1].x = 5; + btns[0].y = 56; + btns[1].y = 86; + btns[0].xSize = 40; + btns[1].xSize = 40; + btns[0].ySize = 20; + btns[1].ySize = 20; + colors.put("%black%", Color.black); + colors.put("%blue%", Color.blue); + colors.put("%cyan%", Color.cyan); + colors.put("%dark-gray%", Color.darkGray); + colors.put("%gray%", Color.gray); + colors.put("%green%", Color.green); + colors.put("%light-gray%", Color.lightGray); + colors.put("%magenta%", Color.magenta); + colors.put("%orange%", Color.orange); + colors.put("%pink%", Color.pink); + colors.put("%red%", Color.red); + colors.put("%white%", Color.white); + colors.put("%yellow%", Color.yellow); + Thread thrd = new Thread(new 1(args)); + thrd.setName("Thaumic Additions Version checking app"); + thrd.start(); + } + + public static void gatherVersionInfo() { + try { + helper.gatherData(new URL("https://raw.githubusercontent.com/MrDimkasStudio/ThaumcraftAdditions/master/latest/1.7.10.txt")); + OnlineVersion = helper.getSpecialData("latestver"); + OnlineDescription = new ArrayList(); + int curr = 0; + + for(String s = helper.getSpecialData("news[" + curr + "]"); s != null; s = helper.getSpecialData("news[" + curr + "]")) { + OnlineDescription.add(s); + ++curr; + } + } catch (Exception var2) { + ; + } + + } + + public static AppLauncher getMain() { + return INSTANCE; + } + + public static boolean inInArray(String[] args, String str, int minTimes) { + int times = 0; + String[] var4 = args; + int var5 = args.length; + + for(int var6 = 0; var6 < var5; ++var6) { + String s = var4[var6]; + if(str.equalsIgnoreCase(s)) { + ++times; + } + } + + return times >= minTimes; + } + +} diff --git a/src/main/java/com/pengu/thaumcraft/additions/app/Button.java b/src/main/java/com/pengu/thaumcraft/additions/app/Button.java new file mode 100644 index 0000000..12d9730 --- /dev/null +++ b/src/main/java/com/pengu/thaumcraft/additions/app/Button.java @@ -0,0 +1,107 @@ +package com.pengu.thaumcraft.additions.app; + +import com.pengu.thaumcraft.additions.app.AppLauncher; +import java.awt.Color; +import java.awt.Graphics; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +public class Button { + + public String text = ""; + public int x = 0; + public int y = 0; + public int xSize; + public int ySize; + + + public Button() { + this.xSize = this.text.length() + 2; + this.ySize = 18; + } + + public void render(Graphics g) { + g.setColor(this.getID() == AppLauncher.selected?Color.green:Color.red); + g.drawRect(this.x, this.y, this.xSize, this.ySize); + g.setColor(Color.gray); + g.drawString(this.text.replaceAll("-", "."), this.x + 4, this.y + 14); + } + + public void onPress(int x, int y) { + for(int i = 0; i < AppLauncher.btns.length; ++i) { + if(this.text != null && this.text.equals(AppLauncher.btns[i])) { + AppLauncher.selected = i; + return; + } + } + + } + + public void addInformation(List list) { + list.add(this.text.replaceAll("-", ".")); + list.add(this.getID() == AppLauncher.selected?"%green%[SELECTED]":"%cyan%[SELECT]"); + } + + public void onAddTooltip(Graphics g, int x, int y) { + ArrayList list = new ArrayList(); + this.addInformation(list); + int xSize = 0; + int ySize = 16 * list.size(); + + String y2; + for(Iterator i = list.iterator(); i.hasNext(); xSize = Math.max(xSize, y2.length() * 7)) { + y2 = (String)i.next(); + + for(Iterator iter = AppLauncher.colors.keySet().iterator(); iter.hasNext(); y2 = y2.replaceAll((String)iter.next(), "")) { + ; + } + } + + g.setColor(Color.lightGray); + + int var10; + for(var10 = x; var10 < x + xSize + 1; ++var10) { + for(int var11 = y; var11 < y + ySize; ++var11) { + g.drawRect(var10, var11, xSize - var10, 16 * list.size() + (y - var11)); + } + } + + g.setColor(Color.darkGray); + g.drawRect(x, y, xSize, ySize); + g.setColor(Color.gray); + + for(var10 = 0; var10 < list.size(); ++var10) { + this.drawFormattedString(g, (String)list.get(var10), x + 3, y + 15 + 15 * var10); + } + + } + + public void drawFormattedString(Graphics g, String str, int x, int y) { + Iterator iter0 = AppLauncher.colors.keySet().iterator(); + + while(iter0.hasNext()) { + String iter = (String)iter0.next(); + if(str.startsWith(iter) && AppLauncher.colors.get(iter) != null) { + g.setColor((Color)AppLauncher.colors.get(iter)); + break; + } + } + + for(Iterator iter1 = AppLauncher.colors.keySet().iterator(); iter1.hasNext(); str = str.replaceAll((String)iter1.next(), "")) { + ; + } + + g.drawString(str, x, y); + } + + public int getID() { + for(int i = 0; i < AppLauncher.btns.length; ++i) { + if(AppLauncher.btns[i] != null && AppLauncher.btns[i].equals(this.text)) { + return i; + } + } + + return -1; + } +} diff --git a/src/main/java/com/pengu/thaumcraft/additions/app/ButtonNo.java b/src/main/java/com/pengu/thaumcraft/additions/app/ButtonNo.java new file mode 100644 index 0000000..1109a9f --- /dev/null +++ b/src/main/java/com/pengu/thaumcraft/additions/app/ButtonNo.java @@ -0,0 +1,26 @@ +package com.pengu.thaumcraft.additions.app; + +import com.pengu.thaumcraft.additions.app.AppLauncher; +import com.pengu.thaumcraft.additions.app.Button; +import java.awt.Graphics; +import java.util.List; + +public class ButtonNo extends Button { + + public void onPress(int x, int y) { + AppLauncher.getMain().window.stop(); + System.exit(-1); + } + + public void addInformation(List list) { + list.add("%red%Minecraft continues to run,"); + list.add("%red%but web page isn\'t gonna open."); + } + + public void render(Graphics g) { + this.text = "No"; + this.xSize = 24; + this.ySize = 18; + super.render(g); + } +} diff --git a/src/main/java/com/pengu/thaumcraft/additions/app/ButtonYes.java b/src/main/java/com/pengu/thaumcraft/additions/app/ButtonYes.java new file mode 100644 index 0000000..5a48bf9 --- /dev/null +++ b/src/main/java/com/pengu/thaumcraft/additions/app/ButtonYes.java @@ -0,0 +1,39 @@ +package com.pengu.thaumcraft.additions.app; + +import com.pengu.thaumcraft.additions.app.AppLauncher; +import com.pengu.thaumcraft.additions.app.Button; +import java.awt.Desktop; +import java.awt.Graphics; +import java.net.URI; +import java.util.List; + +public class ButtonYes extends Button { + + public void onPress(int x, int y) { + AppLauncher.gatherVersionInfo(); + + try { + String type = AppLauncher.helper.getSpecialData("urlbase") == null?"1":AppLauncher.helper.getSpecialData("urlbase"); + type = type.replaceFirst("0", "http://").replaceFirst("1", "https://"); + String base = AppLauncher.helper.getSpecialData("downloadlink"); + String link = type + (base == null?"about.blank":base); + Desktop.getDesktop().browse(new URI(link)); + } catch (Exception var6) { + ; + } + + System.exit(-1); + } + + public void addInformation(List list) { + list.add("%green%Minecraft will shutdown,"); + list.add("%green%and web page will show up."); + } + + public void render(Graphics g) { + this.text = "Yes"; + this.xSize = 32; + this.ySize = 18; + super.render(g); + } +} diff --git a/src/main/java/com/pengu/thaumcraft/additions/app/EventListener.java b/src/main/java/com/pengu/thaumcraft/additions/app/EventListener.java new file mode 100644 index 0000000..0263686 --- /dev/null +++ b/src/main/java/com/pengu/thaumcraft/additions/app/EventListener.java @@ -0,0 +1,43 @@ +package com.pengu.thaumcraft.additions.app; + +import com.pengu.thaumcraft.additions.app.gfx.Display; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; +import java.awt.event.MouseMotionListener; + +public class EventListener implements MouseListener, MouseMotionListener { + + public Display disp; + public int lastX; + public int lastY; + public boolean dragged = false; + + + public EventListener(Display back) { + this.disp = back; + } + + public void mouseClicked(MouseEvent e) { + this.disp.onMouseClick(e); + } + + public void mouseEntered(MouseEvent e) {} + + public void mouseExited(MouseEvent e) {} + + public void mousePressed(MouseEvent e) {} + + public void mouseReleased(MouseEvent e) {} + + public void mouseDragged(MouseEvent e) { + this.dragged = true; + this.lastX = e.getX(); + this.lastY = e.getY(); + } + + public void mouseMoved(MouseEvent e) { + this.dragged = false; + this.lastX = e.getX(); + this.lastY = e.getY(); + } +} diff --git a/src/main/java/com/pengu/thaumcraft/additions/app/GUI.java b/src/main/java/com/pengu/thaumcraft/additions/app/GUI.java new file mode 100644 index 0000000..9b2107e --- /dev/null +++ b/src/main/java/com/pengu/thaumcraft/additions/app/GUI.java @@ -0,0 +1,126 @@ +package com.pengu.thaumcraft.additions.app; + +import com.pengu.thaumcraft.additions.app.AppLauncher; +import com.pengu.thaumcraft.additions.app.Button; +import com.pengu.thaumcraft.additions.app.gfx.Bitmap; +import com.pengu.thaumcraft.additions.app.gfx.Display; +import java.awt.Component; +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.event.WindowEvent; +import java.awt.image.BufferStrategy; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import javax.swing.JFrame; + +public class GUI implements Runnable { + + private JFrame frame; + private Display display; + public int WIDTH; + public int HEIGHT; + public String TITLE; + public boolean isRunning; + public double TARGET_TPS = 30.0D; + public boolean allowUserURL = false; + public List